Qpython3、sqlite3可以';无法连接到数据库
我是一个初学者,我只是在android上尝试qpython 我尝试使用sqlite3连接qpython3上的数据库: 我的代码 但它会引发错误,无法打开数据库文件 有什么解决办法吗??Qpython3、sqlite3可以';无法连接到数据库,sqlite,qpython3,Sqlite,Qpython3,我是一个初学者,我只是在android上尝试qpython 我尝试使用sqlite3连接qpython3上的数据库: 我的代码 但它会引发错误,无法打开数据库文件 有什么解决办法吗?? 如果我在pc上尝试,它会自动创建一个数据库(如果不存在的话)它不起作用的原因是QPython程序是从“/”目录运行的,这当然不能写入非root用户。您可以通过从控制台运行以下代码来检查这一点 import os print(os.getcwd()) 如果转到“关于”菜单中的ftp实用程序,您将找到QPython
如果我在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()
从未使用过android或qpython,但您可能希望检查脚本是否具有写入该文件夹的正确权限。
conn.commit()
conn.close()