我想打开一个 sqlite3 数据库,并立即检查它是否以只读方式打开。因为我知道我需要写入它,所以我想在启动时立即返回一个错误,而不必等到程序第一次尝试写入时再返回。
我看到有一个sqlite3 C API function sqlite3_db_readonly()
.是否可以从 Python API 访问此函数?或者是否有其他方法可以通过 Python API 检查数据库是否为只读?
最佳答案
除了提到的其他可能性之外,您可以尝试写入它。例如,如果数据库的 user_version
为 0(除非您更改它,否则它将为 0),发出 pragma user_version=0;
。如果数据库是可写的,这将没有效果,但如果数据库是只读的,则会导致错误。
关于python - 确定 sqlite3 数据库是否为只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44691252/