python - 仅在 PC 启动 sqlite3.OperationalError 时出现 Python 错误:无法打开数据库文件
问题描述
我制作了一个 python 脚本,它应该在我启动我的 PC 时启动,为了做到这一点,我创建了一个像这样的简单 .bat 文件。但是现在我遇到了一个问题,因为为什么 Windows 在启动时无法打开数据库连接。我试过这样:
conn = sqlite3.connect('DB\Todos.db')
当我正常执行批处理文件时,一切正常,但是当 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) 权限。
至少,文件的 READ 权限是正确的。有些文件有一个属性,“-r”,只读文件属性,使用具有管理员权限的提示(CMD)将其删除,位于文件的文件夹中并键入attrib -r -s -h yourfile.ext
,它会删除只读,系统和隐藏文件属性。
如果一切都不起作用,则文件已损坏。对不起。
推荐阅读
- python - 如果满足条件,则在 Python 中配对名称
- ruby-on-rails - 针对 Postgres 的昂贵 ActiveRecord 计数会破坏性能
- sql - 在 SQL Server 中按从今天开始的 6 个月时间段对行进行分组
- cognos-tm1 - TM1 用户访问元素级别维度
- css - 如何在css中更改链接背景图像
- javascript - 我的功能 window.onblur,不适用于外部链接
- javascript - 使用 jquery 将文本替换为选择引导程序
- r - 固定窗口的滚动最小值
- java - apt-get install -y openjdk-8-jdk 失败
- python - 运行没有特征组合的多项式回归