我是初学者,我只是尝试qpython for android。
我尝试使用sqlite3在qpython3上连接数据库: 我的代码
import sqlite3
conn=sqlite3.connect('mydatabase.db')
但它会引发错误,无法打开数据库文件。
任何解决方案? 如果我尝试使用pc,它会自动创建一个数据库(如果不存在)
答案 0 :(得分:0)
它不起作用的原因是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()