我是初学者,我只是尝试将qpython用于android。
我尝试使用sqlite3在qpython3上连接数据库:
我的密码
import sqlite3
conn=sqlite3.connect('mydatabase.db')
但这会引发错误,并且无法打开数据库文件。
任何解决方案?
如果我尝试使用pc,它会自动创建一个数据库(如果不存在)
最佳答案
它不起作用的原因是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()
关于sqlite - QPython3,sqlite3无法连接到数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42505294/