Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLITE3未创建数据库_Python_Python 3.x_Sqlite - Fatal编程技术网

Python SQLITE3未创建数据库

Python SQLITE3未创建数据库,python,python-3.x,sqlite,Python,Python 3.x,Sqlite,它应该创建数据库,但它没有。有什么帮助吗?我怀疑在磁盘上至少创建一个表之前,不会创建数据库。仅仅调用conn.cursor()是不够的 Consolesqlite3实用程序也以这种方式运行。此代码将在运行脚本的同一目录中创建名为“test.db”的sqlite db文件 例如,如果您的python文件位于: import sqlite3 conn = sqlite3.connect("test.db") cursor = conn.cursor() 您可以从以下位置运行它: /home/use

它应该创建数据库,但它没有。有什么帮助吗?

我怀疑在磁盘上至少创建一个表之前,不会创建数据库。仅仅调用
conn.cursor()
是不够的


Console
sqlite3
实用程序也以这种方式运行。

此代码将在运行脚本的同一目录中创建名为“test.db”的sqlite db文件

例如,如果您的python文件位于:

import sqlite3
conn = sqlite3.connect("test.db")
cursor = conn.cursor()
您可以从以下位置运行它:

/home/user/python_code/mycode.py
与:

它将在以下位置创建一个“空”sqlite db文件:

python python_code/mycode.py # or python3
如果找不到test.db文件,请确保传递了所需位置的完整路径

i、 e


我也遇到了同样的问题,我的.db文件没有出现,因为我忘了在路径的末尾添加test.db,请参见下面的第2行

conn = sqlite3.connect("/full/path/to/location/you/want/test.db")

“它不是在创建数据库”是什么意思?您是指数据库文件还是数据库文件的内容?你期望什么样的数据库?您需要指定数据库的行、列、名称等。检查您当前的工作目录,我打赌它在那里执行此代码有两种结果:1。文件未创建,您将收到一个错误。在这种情况下,请发布此错误。2.文件已创建,但不是您期望的位置。添加
导入操作系统;print(os.getcwd())
文件就是在这里创建的。如果您使用IDE,那么当前目录可能不是您所期望的。。。你真的应该用
os.chdir(…)
来设置它,或者至少用
os.getcwd()
来控制它。我刚刚测试过,至少在python 3.6.5中它创建了db文件。看起来db正在创建,但不在当前目录中。我可以访问数据库,但即使在检查隐藏文件时也看不到它。@adautophineheiro您是否以某个用户的身份运行python脚本?可能您用于查找db的用户没有查看文件的权限。虽然此代码可能会解决此问题,但如何以及为什么解决此问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。
/home/user/test.db
conn = sqlite3.connect("/full/path/to/location/you/want/test.db")
import sqlite3
databaseFile = "/home/user/test.db" #don't forget the test.db
conn = sqlite3.connect(databaseFile)
cursor = conn.cursor()