C/C++のsqlite3を使用しているときに、読み取り専用のオープンモードオプションがあることがわかりました。これは偶発的なデータ破損を避けるために非常に便利です。 Pythonバインディングにはこのようなことがありますか?Pythonから読み取り専用モードで開くsqlite3データベース
15
A
答えて
2
@Chris、no。しかし、PEP 249に準拠していないsqlite3用の別のラッパーがあり、sqlite3をよりしっかりとラップし、エンジンの新機能を同化します:http://code.google.com/p/apsw/。そのラッパーは、データベースを読み取り専用モードで開くほか、その他の細かい点をサポートしています。パイソンのよう
21
では、次のと読み取り専用モードでデータベースを開くことができます3.4.0:
db = sqlite3.connect('file:/path/to/database?mode=ro', uri=True)
もthe documentationを参照してください。 Pythonの2.xのための
+0
注:これはPythonでは動作しません。Python 3でのみ動作します – lowtech
7
回避策:
fd = os.open(filename, os.O_RDONLY)
c = sqlite3.connect('/dev/fd/%d' % fd)
os.close(fd)
POSIXが、Linux、OS/X、最も近代的なのunixでは使用できません。
関連する問題
- 1. Windowsで読み取り専用モードとしてファイルを開く
- 2. 読み取り専用モードで新しいHTMLウィンドウを開く
- 3. java + sqlite:データベースを読み取り専用で開く方法は?
- 4. レールコンソールを読み取り専用モードで開くことはできますか?
- 5. アセットフォルダに直接読み取り専用データベースを開く
- 6. ロックされたsqliteデータベースを読み取り専用モードで開くことはできますか?
- 7. 読み取り専用モードでSqliteデータベースを開くことができません
- 8. Postgresデータベースが読み取り専用モードかどうかを確認するクエリ
- 9. 読み取り専用自動対(読み取り専用)プロパティ
- 10. Sqlite python - 読み取り専用データベースを作成しよう
- 11. 読み取り専用保護でExcelファイルを開くには?
- 12. ファイルを開くには、読み取り専用
- 13. CurrentCulture.DateTimeFormat.LongTimePattern読み取り専用
- 14. 読み取り専用アソシエーション
- 15. 読み取り専用テキストボックス
- 16. 読み取り専用プロパティ
- 17. 読み取り専用コンボボックスですか?
- 18. のAptana Studioの3 - 閲覧/読み取り専用モード
- 19. 資産から直接読み取り専用でsqliteを開きます
- 20. ロックをサポートしていないファイルシステムでsqlite3の読み取り専用
- 21. C#でプロパティアクセサ「読み取り専用」
- 22. 既存のテーブルデータを読み取り専用データベースから読み書き可能なデータベースにコピーするMySQL
- 23. メモリを読み取り専用で公開する
- 24. Python: "List.append = 'リスト'オブジェクト属性 'append'は読み取り専用です
- 25. git vimdiffがファイルを読み取り専用で開くのを防ぐには?
- 26. Yiiデータベース接続を読み取り専用に制限する
- 27. 読み取り専用データベース/ Webサービスの作成?
- 28. アプリケーションバンドル内の読み取り専用SQLiteデータベース
- 29. データベースの一貫性のある読み取り専用ビュー
- 30. リモートのMySqlデータベースへのMS Accessの読み取り専用
可能な複製:http://stackoverflow.com/questions/4239606/sqlite3-read-only-on-a-file-system-that-doesnt-support-locking – Chris
@Chrisありがとう、私は答えを編集する同じ質問をしている将来の人々にいくつかの仕事を保存するだけです。 – dsign
可能性のある複製[ネイティブsqlite3を避けて(インストールされている)最新のsqlite3バージョンを使用するように強制する](http://stackoverflow.com/questions/1545479/force-python-to-forego-native-sqlite3-and-use- the-installed-latest-sqlite3-ver) –