无法从 python 3.4.2 脚本访问 sqlite3 数据库
Can't access sqlite3 database from python 3.4.2 scripts
我正在尝试使用名为 "podcasts" 的 python 3.4.2 创建一个 sqlite3 数据库。我创建了两个文件:
dbcreate.py:
import sqlite3 as db
conn = db.connect('test.db')
cursor = conn.cursor()
cursor.execute("create table podcasts(name text, hosts text, channel text)")
print("table created")
dbinsert.py:
import sqlite3 as db
conn = db.connect('test.db')
cursor = conn.cursor()
cursor.execute('insert into podcasts values("Invisibilia","NPR", "Lulu Miller and Alix Spiegel")')
cursor.execute('insert into podcasts values("Hanselminutes", "independent", "Scott Hanselman")')
conn.commit()
conn.close()
当我 运行 dbcreate.py 的模块时,它打印了 "table created" 应该的样子。但是当我 运行 dbinsert.py 的模块时,我没有得到任何输出。因此,然后我转到 Macbook Air 上的命令行,当我输入 python3.4 shell 并想从命令行访问这两个文件时,我得到:
>>> dbcreate.py
Traceback (most recent call last):
File "stdin", line 1, in module
NameError: name 'dbcreate' is not defined
和:
>>> dbinsert.py
Traceback (most recent call last):
File "stdin", line 1, in module
NameError: name 'dbinsert' is not defined
当我尝试通过在命令行中键入 .databases 从 sqlite3 访问数据库时,我得到:
我不知道如何访问我在 dbinsert.py 中创建的数据库,所以如果您能给我任何帮助,我将不胜感激。谢谢你。
您正在尝试从 Python shell 中 运行 您的 .py
文件,这将不起作用。相反,从命令行 运行
python3 dbcreate.py
python3 dbinsert.py
假设 python3
指向您安装的 Python 3.4.2。这将执行您的代码,创建 .db
文件并插入您指定的值。
dbinsert.py
不会有任何输出,因为您没有打印任何内容,只是执行数据库命令。
我正在尝试使用名为 "podcasts" 的 python 3.4.2 创建一个 sqlite3 数据库。我创建了两个文件:
dbcreate.py:
import sqlite3 as db
conn = db.connect('test.db')
cursor = conn.cursor()
cursor.execute("create table podcasts(name text, hosts text, channel text)")
print("table created")
dbinsert.py:
import sqlite3 as db
conn = db.connect('test.db')
cursor = conn.cursor()
cursor.execute('insert into podcasts values("Invisibilia","NPR", "Lulu Miller and Alix Spiegel")')
cursor.execute('insert into podcasts values("Hanselminutes", "independent", "Scott Hanselman")')
conn.commit()
conn.close()
当我 运行 dbcreate.py 的模块时,它打印了 "table created" 应该的样子。但是当我 运行 dbinsert.py 的模块时,我没有得到任何输出。因此,然后我转到 Macbook Air 上的命令行,当我输入 python3.4 shell 并想从命令行访问这两个文件时,我得到:
>>> dbcreate.py
Traceback (most recent call last):
File "stdin", line 1, in module
NameError: name 'dbcreate' is not defined
和:
>>> dbinsert.py
Traceback (most recent call last):
File "stdin", line 1, in module
NameError: name 'dbinsert' is not defined
当我尝试通过在命令行中键入 .databases 从 sqlite3 访问数据库时,我得到:
我不知道如何访问我在 dbinsert.py 中创建的数据库,所以如果您能给我任何帮助,我将不胜感激。谢谢你。
您正在尝试从 Python shell 中 运行 您的 .py
文件,这将不起作用。相反,从命令行 运行
python3 dbcreate.py
python3 dbinsert.py
假设 python3
指向您安装的 Python 3.4.2。这将执行您的代码,创建 .db
文件并插入您指定的值。
dbinsert.py
不会有任何输出,因为您没有打印任何内容,只是执行数据库命令。