从两个Python文件访问SQLite数据库
我一直在尝试用一个Python文件创建一个sqlite数据库,然后用另一个文件来访问里面的数据,但总是出错。我有两个文件,分别是main.py和file2.py。
这是main.py
里的代码:
import sqlite3, os
conn = sqlite3.connect(':memory:')
queryCurs = conn.cursor()
def createTable():
queryCurs.execute('''CREATE TABLE test(id INTEGER PRIMARY KEY, name TEXT)''')
def addInitial(name):
queryCurs.execute('''INSERT INTO test(name) VALUES (?)''',(name,))
createTable()
addInitial("John")
conn.commit()
os.system('file2.py')
这是file2.py
里的代码:
import sqlite3, os, time
conn = sqlite3.connect(':memory:')
queryCurs = conn.cursor()
queryCurs.execute('SELECT name FROM test WHERE id=1')
for i in queryCurs:
for j in i:
name = j
print name
conn.commit()
我收到的错误信息是:OperationalError: no such table: test(没有这个表:test)。
1 个回答
0
每次调用 connect
都会创建一个自己的内存数据库。
如果想要共享同一个内存数据库,就需要创建一个连接,并在两个模块中共享这个 Python 对象。