无法从另一个文件导入变量的值

时间:2020-03-14 05:07:26

标签: python python-3.x sqlite

我想使用SQLite3存储来自网页的CSS ID的 value 。为此,我做了一个 function ,可以在其中存储这些值。为了获取每个值,我在另一个文件的变量上放置了一个for循环。但这给了我一个错误:

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 个答案:

答案 0 :(得分:2)

您应在循环内使用i。并使用i[0]来获取ID值,因为i是一个列表。

for i in rows:
    print(i)
    class_Name = "." + str(i[0])
    # use class_Name in code here