【发布时间】:2016-06-20 08:54:57
【问题描述】:
我有一个使用 SQLite 数据库的 PyInstaller 编译的应用程序。在名称中带有特殊字符的用户运行该软件之前,一切正常。甚至像这样的简单代码:
import sqlite3
path = "C:\\Users\\Jøen\\test.db"
db = sqlite3.connect(path)
导致回溯:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
sqlite3.OperationalError: unable to open database file
我尝试了各种组合,包括使用chardet 检测编码,然后转换为 UTF-8,但这也不起作用。在这一点上,我所有常用的 Python 编码/解码技巧都让我失望了。
是否有人成功地在 Python 中打开了路径中包含特殊字符的 SQLite DB?
因此,如果您的用户路径中有任何国际或特殊字符,一些测试代码可能会帮助我:
import os
import sqlite3
path = os.path.expanduser("~")
sqlite3.connect(path + "\\test.db")
【问题讨论】:
-
sqlite3.connect(db)是错字吗?我猜sqlite3.connect(path)? -
正确。已编辑。谢谢!
标签: python python-2.7 sqlite