从2个python文件访问sqlite数据库

时间:2014-05-31 10:23:48

标签: python sqlite

我一直在尝试使用一个python文件创建一个sqlite数据库,并使用另一个python文件访问它,但不断收到错误。我有2个文件,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:没有这样的表:test

1 个答案:

答案 0 :(得分:0)

每个connect调用都会创建自己的内存数据库。

要共享相同的内存数据库,请创建单个连接并在两个模块中共享该Python对象。