Невозможно импортировать значение переменной из другого файла - PullRequest
3 голосов
/ 14 марта 2020

Я хочу сохранить значение из css id с веб-страницы, используя SQLite3. Для этого я сделал функцию , где я могу хранить эти значения внутри нее. И для получения каждого значения я положил для переменной l oop переменную другого файла. Но это дает мне ошибку:

Traceback (most recent call last):
  File "c:/Users/pc 21/Desktop/Crawl_jar/D_scraper.py", line 35, in <module>
    class_Name = "." + str(i)
NameError: name 'i' is not defined

MAIN.py: (это фрагмент кода)

import sqlite3

conn = sqlite3.connect(r'C:\Users\pc 21\Desktop\Crawl_jar\test.db')

def on_clicked(name):
    on_clicked.xcv = name
    print(on_clicked.xcv)
    conn.execute(f"""INSERT INTO Classes (id) VALUES ("{name}");""")

Другой файл:

import sqlite3

conn = sqlite3.connect(r'C:\Users\pc 21\Desktop\Crawl_jar\test.db')

cur = conn.cursor()
cur.execute("SELECT id FROM classes")

rows = cur.fetchall()

for i in rows:
    print(i)

class_Name = "." + str(i)

Я думаю, что база данных пуста. Что я делаю не так ?? Потому что он ничего не печатает.

Да, я получил ответ сам. Это можно решить, поставив cur.commit() в конце. И он будет работать с тем же кодом, который я выложил выше.

1 Ответ

2 голосов
/ 14 марта 2020

Вы должны использовать i внутри l oop. И используйте i[0], чтобы получить значение идентификатора, поскольку i - это список.

for i in rows:
    print(i)
    class_Name = "." + str(i[0])
    # use class_Name in code here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...