我是初学者,我只是尝试将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/

10-16 12:55