仅在 PC 启动时出现 Python 错误 sqlite3.OperationalError : unable to open database file

标签 python python-3.x batch-file cmd

我制作了一个 python 脚本,它应该在我启动 PC 时启动,为此我创建了一个简单的 .bat 文件 like this.但是现在我遇到了一个问题,因为为什么 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    
当然,“我的文件路径”是正常路径。
谢谢你的帮助

最佳答案

当然这说明系统找不到指定的文件,这是无法打开数据库文件的原因。如果您的程序在 DB 文件夹中,则可以使用conn = sqlite3.connect('Todos.db')反而。并且,如果是出于个人目的,最推荐的是使用整个路径,例如 conn = sqlite3.connect('X:\MyDB\SQLite\Todos.db') .输出错误 sqlite3.OperationalError: unable to open database file 通常,开始时会出现以下错误:

  • 系统找不到文件。
  • 系统无法打开文件。
  • 系统没有该文件的权限(或者您没有)。
  • 系统没有读取权限。

  • 如果无法打开找到该文件,请将您的脚本或目录移动到该文件所在的位置。它节省代码,比插入完整路径要好得多,因为如果您将程序制作给某人,则很难说出程序在哪里,他/她可能会更改代码等。但是如果一切正常在同一个文件夹上,很容易。
    如果打不开文件,可能是损坏了;该程序无法读取此扩展文件或不是他识别的程序。或者你不支付程序。
    如果没有该文件的权限,您需要以管理员身份启动程序,如果它不起作用,请在互联网上搜索如何授予.(yourext)权限。
    至少,文件的读取权限是正确的。一些文件有一个属性,“-r”,只读文件属性,使用具有管理员权限的提示(CMD)删除它,在文件的文件夹中并输入 attrib -r -s -h yourfile.ext ,它会删除只读、系统和隐藏文件属性。
    如果一切都不起作用,则文件已损坏。对不起。

    关于仅在 PC 启动时出现 Python 错误 sqlite3.OperationalError : unable to open database file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64634045/

    相关文章:

    python - 如何确定透视变换后点在新图像平面中的位置?

    python - 在 Python 中使用 shutil 仅复制目录树中的目录

    python - 自定义 python 对象的 pretty-print __str__

    c++ - 嵌入 Python : undefined reference to `_imp__Py_Initialize'

    windows - 如何使用从文本文件读取的环境变量设置变量

    windows - 合并时批处理文件不会运行(在批处理文件中退出 ghostscript

    python - Python 中的任意元素是什么?

    python - 同一 Pandas DatetimeIndex 对象中具有不同时区的时间戳?

    python - 如何获取将结果保存到数据框的函数

    windows - 检测 .bat 文件是否在为其分配的控制台中启动