Python can';t执行';。读取create.sql';

Python can';t执行';。读取create.sql';,python,sqlite,Python,Sqlite,这可能是一个明显的错误,但我正在尝试使用已经创建的脚本在python中创建一个数据库 conn = sqlite3.connect('testDB') c = conn.cursor() c.execute('.read create.sql') 这会产生一个错误“sqlite3.OperationalError:near”。“:语法错误” 如果我在sqlite3命令行中执行相同的操作,那么效果很好 [me@myPC ~]$ sqlite3 testDB SQLite version 3.3.

这可能是一个明显的错误,但我正在尝试使用已经创建的脚本在python中创建一个数据库

conn = sqlite3.connect('testDB')
c = conn.cursor()
c.execute('.read create.sql')
这会产生一个错误“sqlite3.OperationalError:near”。“:语法错误”

如果我在sqlite3命令行中执行相同的操作,那么效果很好

[me@myPC ~]$ sqlite3 testDB
SQLite version 3.3.6
Enter ".help" for instructions
sqlite> .read create.sql 
sqlite> 

似乎任何以a开头的命令。给我一些问题。

我认为以
开头的命令用于CLI客户端本身,而不是后端


因此,您没有机会这样做,必须自己读取文件并执行查询,即在Python中。

我假设以
开头的命令用于CLI客户端本身,而不是后端


因此,您没有机会这样做,必须自己读取文件并执行查询,即在Python中。

只需将文件内容传递给.execute方法:

conn = sqlite3.connect('testDB')
c = conn.cursor()
SQL = open('create.sql').read()
c.executescript(SQL)

只需将文件内容传递给.execute方法:

conn = sqlite3.connect('testDB')
c = conn.cursor()
SQL = open('create.sql').read()
c.executescript(SQL)