症状
conn = sqlite3.connect(dbname)
cur = conn.cursor()
cur.execute('select * from XXXX where post_content=?;', (post_contain_plane_format,))
conn.commit()
cur.close()
conn.close()
Python3でSQLite3を操作中、ProgrammingError:"Cannot operate on a closed database."
と表示される。
対策
閉じたデータベースでは操作できません、ということらしい。
確認したら、try-except文の分岐内でconn.close()を使用していた。
VSでコード複製してたら間違えてとっちゃってたみたい。。
解決方法は主に以下の二通りで、
conn.cursor()
でデータベースをオープンな状態に戻すか、
conn.close()
の削除ですね。
sqlite3.connectは、なるべくスクリプトの最後でのみ閉じるようにしましょう。
以上、”Cannot operate on a closed database.”エラーの解決方法でした。