簡體   English   中英

以只讀模式從python打開sqlite3數據庫

[英]Opening sqlite3 database from python in read-only mode

在使用C / C ++的sqlite3時,我了解到它有一個open-in-read-only模式選項,這對於避免意外的數據損壞非常方便。 Python綁定中有這樣的東西嗎?

從Python 3.4.0開始,您可以使用以下方式以只讀模式打開數據庫:

db = sqlite3.connect('file:/path/to/database?mode=ro', uri=True)

另請參閱文檔

Python 2.x的解決方法:

fd = os.open(filename, os.O_RDONLY)
c = sqlite3.connect('/dev/fd/%d' % fd)
os.close(fd)

不是posix,但可以在Linux,OS / X和大多數現代unix上使用。

有點相關,請注意您可以使用pragma動態啟用/禁用修改:

pragma query_only = ON;   -- disable changes
pragma query_only = OFF;  -- enable changes

正如@Chris給出的鏈接,沒有。 但是還有另一個sqlite3的包裝器,它更少符合PEP 249,並且更加緊密地包裝sqlite3,同化了引擎的新功能: http//code.google.com/p/apsw/ 該包裝器確實支持以只讀模式打開數據庫,以及其他細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM