問題:
Python 2.6 でログ ファイルを解析しようとしています。共通ログの日付文字列を時刻オブジェクトに解析する際に問題が発生しました。
13/Sep/2012:06:27:18 +0200
私がすでに試したこと
使用するdateutils.parser.parse
すでに使用してみdateutils.parser.parse
ましたが、次のエラーで解析に失敗しました:
ValueError: unknown string format
使用するtime.strptime
time.strptime
フォーマット文字列を試してみました%d/%b/%Y:%H:%M:%S %z
が、タイムゾーンを解析するときに問題が発生しました:
ValueError: 'z' is a bad directive in format '%d/%b/%Y:%H:%M:%S %z'
エラーがどこにあるのか、誰にもわかりますか?それとも単に間違ったアプローチですか?
最終的解決
最後にtime.strptime
、タイムゾーン情報を取り除いて使用することにしました。
time.strptime(datestring[:-6], '%d/%b/%Y:%H:%M:%S')
使用したくない理由はdateutils
、(実際に C 関数を呼び出す)よりもはるかにdateutils
遅いためです。strptime