0

StringまたはStringIOオブジェクトの形式のSQLiteデータベースがある場合、データベースのフォーマットを検証するための迅速で簡単な方法を提供するPythonモジュールはありますか?ほとんどのモジュールでは、データベースを開くためにファイルへの参照を渡す必要があるようです。私が扱っているシナリオでは、ファイルが存在しないため、データベースのフォーマットをその内容から直接検証したいと思います。ありがとうございました。

4

1 に答える 1

3

データベースは、sqliteインメモリ オプション自体を提供します。:memory:ファイル名として使用して作成します。

>>> import sqlite3
>>> conn = sqlite3.connect(':memory:')
>>> conn.execute('CREATE TABLE foo (bar)')
<sqlite3.Cursor object at 0x10c8f76c0>
>>> list(conn.execute('SELECT * FROM foo'))
[]
>>> list(conn.execute('SELECT name FROM sqlite_master'))
[(u'foo',)]
>>> conn = sqlite3.connect(':memory:')  # a reconnect gives a new empty database
>>> list(conn.execute('SELECT name FROM sqlite_master'))
[]

接続用のファイルは作成されず、python を閉じるとインメモリ データベースとスキーマが閉じられ、その中のすべてのデータが破棄されます。

他の唯一のオプションは、一時的なファイル名を使用することです。sqliteファイル自体を完全に処理することを主張します。ファイルのようなオブジェクトを渡すことはできません。ファイル名または文字列でなければなりません:memory:

于 2013-02-03T14:09:27.827 に答える