Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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
PC启动sqlite3时发生Python错误。操作错误:无法打开数据库文件_Python_Python 3.x_Batch File_Cmd - Fatal编程技术网

PC启动sqlite3时发生Python错误。操作错误:无法打开数据库文件

PC启动sqlite3时发生Python错误。操作错误:无法打开数据库文件,python,python-3.x,batch-file,cmd,Python,Python 3.x,Batch File,Cmd,我制作了一个python脚本,应该在启动电脑时启动。为此,我创建了一个简单的.bat文件,但现在我遇到了一个问题,因为为什么windows无法在启动时打开数据库连接。我这样试过: conn = sqlite3.connect('DB\Todos.db') 当我正常执行baatch文件时,一切正常,但当windows在启动时启动它时,会出现以下错误: Traceback (most recent call last): File "Path to my file", lin

我制作了一个python脚本,应该在启动电脑时启动。为此,我创建了一个简单的.bat文件,但现在我遇到了一个问题,因为为什么windows无法在启动时打开数据库连接。我这样试过:

conn = sqlite3.connect('DB\Todos.db')
当我正常执行baatch文件时,一切正常,但当windows在启动时启动它时,会出现以下错误:

Traceback (most recent call last):

File "Path to my file", line 41, in <module>
conn = sqlite3.connect('DB\Todos.db')
sqlite3.OperationalError: unable to open database file    
回溯(最近一次呼叫最后一次):
文件“我的文件路径”,第41行,在
conn=sqlite3.connect('DB\Todos.DB')
sqlite3.0错误:无法打开数据库文件
当然,“我的文件路径”是正常路径。
感谢您的帮助

当然,这表明系统找不到指定的文件,这是他们无法打开数据库文件的原因。如果您的程序在DB文件夹中,您可以使用
conn=sqlite3.connect('Todos.db')
。而且,对于个人端口,最推荐的if是使用整个路径,如
conn=sqlite3.connect('X:\MyDB\SQLite\Todos.db')
。输出错误
sqlite3.OperationalError:无法打开数据库文件
通常以以下错误开始:

  • 系统找不到该文件
  • 系统无法打开该文件
  • 系统没有该文件的权限(或者您没有)
  • 系统没有读取权限
如果无法打开并找到文件,请将脚本或目录移动到文件所在的位置。它节省了代码,比插入完整路径要好得多,因为如果你把程序交给某人,很难说出程序在哪里,他/她可能会更改代码,等等。但是如果所有内容都在同一个文件夹中,这就容易多了

如果无法打开文件,则可能已损坏;该程序无法读取该文件的文本,或者不是他识别的程序。哦,或者你不付节目费:V

如果您没有该文件的权限,则需要以管理员身份启动该程序,如果不起作用,请在internet上搜索如何授予该文件的权限。(yourext)

至少,读取权限在文件上是正确的。有些文件有一个attrib,即“-r”,只读文件属性,在文件文件夹中键入
attrib-r-s-h yourfile.ext后,通过具有管理员权限的提示(CMD)将其删除,并删除只读、系统和隐藏文件属性

如果一切都不正常,是的,文件已损坏。对不起


希望我能帮助您。

使用完整路径
'c:\example\DB\Todos.DB'
…或添加新的第一行以将目录更改为
DB
的父目录,例如
@Echo Off&CD/D“c:\ParentDirectory”