我正在使用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应用程序,它就会拒绝查找或创建数据库。
答案 0 :(得分:0)
已修复。如果有人遇到类似问题,请使用内置的appctxt.get_resource(file_path)
方法。