2016-05-25 5 views
0

はここに私のコードです。私はそれをFSに保存する必要があります。どうすればPythonでそれを行うことができますか?バイナリブロブをPostgreSQLからファイルに保存するには?</p> <pre><code>currSrc = connSrc.cursor() currSrc.execute("""SELECT request_id, time_beg, shape FROM "REQUESTS" WHERE fl_ready=1""") </code></pre> <p><code>shape</code>持つタイプBLOB(bytea型):

+1

私が投稿したリンクを見て、PostgreSQLとMySQLブロブの処理に違いはないはずです。 – Eric

+0

@Erikその質問に対する答えは、バイナリファイルをバイナリではなくbase64エンコードされた文字列としてバイナリファイルに保存するという設計上の決定が悪いために起こった問題の迅速な修正です。 –

+0

データベース内のファイルを保存しないことを強く推奨します。これは、データベースのサイズが急激に増加し、結果としてデータベースが遅くなるためです。 – caarlos0

答えて

0

ちょうどディスクに書き込む:

currSrc.execute(""" 
    SELECT request_id, time_beg, shape 
    FROM "REQUESTS" 
    WHERE fl_ready=1 
""") 
rs = cursor.fetchall() 
f = open('/path/to/the/file', 'wb') 
f.write(rs[0][2]) 
f.close() 

[0][2]理由は、それが結果セットおよび第3列の最初の行であることです。

関連する問題