我是初学者,我只是尝试 qpython for android。
我尝试使用 sqlite3 在 qpython3 连接数据库:我的代码
import sqlite3
conn=sqlite3.connect('mydatabase.db')
但它会引发错误并且无法打开数据库文件。
有什么解决办法吗??如果我在电脑上尝试,如果不存在,它会自动创建一个数据库
它不起作用的原因是 QPython 程序是从“/”目录运行的,这对非 root 用户当然是不可写的。您可以使用从控制台运行的以下代码来检查这一点。
import os
print(os.getcwd())
如果你进入ftp
关于菜单中的实用程序,你会发现 QPython3 正在使用的目录路径。在我的 HTC 手机上是:
/storage/emulated/0/com.hipipal.qpyplus
所以我将您的示例代码更改为:
import os
import sqlite3
RootPath='/storage/emulated/0/com.hipipal.qpyplus'
conn=sqlite3.connect(os.path.join(RootPath,'mydatabase.db'))
它对我来说很好。
我还发现有必要提交更改,否则它们不会被写入文件。也就是说,结束程序:
conn.commit()
conn.close()