コードレビュー初級15

レビュー: リソースリークの防止

pythonresource-managementfile-handlingdatabase

コードレビュー課題

以下のPythonコードをレビューしてください。

背景

このコードはログファイルを処理し、データベースに保存する機能を提供します。大量のログファイルを処理することを想定しています。

レビュー観点

  • リソース管理の適切性
  • ファイルハンドルの扱い
  • データベース接続の管理
  • 例外発生時のクリーンアップ

あなたの回答

log_processor.pypython
import sqlite3
def process_log_file(filename, db_path):
"""Process log file and save to database"""
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
f = open(filename, 'r')
lines = f.readlines()
if not lines:
return 0
for line in lines:
if line.strip():
cursor.execute(f"INSERT INTO logs (message) VALUES ('{line.strip()}')")
conn.commit()
return len(lines)
行番号をクリックしてコメントを追加(Shift+クリックで範囲選択)

最低100文字必要です

0

コメントを追加し、サマリーを100文字以上入力してください

模範解答

回答を送信するか、「表示する」をクリックすると模範解答が表示されます。