1

我是初学者,我只是尝试 qpython for android。

我尝试使用 sqlite3 在 qpython3 连接数据库:我的代码

import sqlite3
conn=sqlite3.connect('mydatabase.db')

但它会引发错误并且无法打开数据库文件。

有什么解决办法吗??如果我在电脑上尝试,如果不存在,它会自动创建一个数据库

4

1 回答 1

1

它不起作用的原因是 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()
于 2017-04-17T22:33:06.967 回答