我正在使用 FBS 构建 Python 应用程序,但其中一部分依赖于 SQLite3 数据库。如果没有找到这个数据库,我有代码来创建这个数据库,使用 try-catch 块。
当我编译后尝试运行它时,它不仅找不到预先存在的SQLite3文件,而且也不会创建它。它不显示任何错误消息。
如果文件不存在,我尝试使用以下代码创建文件:
try:
self.connection = sqlite3.connect(path)
self.cursor = self.connection.cursor()
except:
if not os.path.exists(path):
# Try and make the .config directory
try:
os.makedirs(".config")
except OSError as e:
if e.errno != errno.EEXIST:
raise
# Create the datastore, and close it
f = open(path, "w+")
f.close()
# And try connect to database again
return self.__connect(path)
else:
print(f"No database exists, and could not create one.\nPlease create file in app directory called: {path}\nThen restart application.")
raise
该代码可以在 dev 中找到,但是一旦我将其编译到 Mac 应用程序中,它就会拒绝查找或创建数据库。