0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Python で文字化けした行を含むファイルを読み込む

Last updated at Posted at 2020-11-03

試験が細かく行われていないWebアプリケーションのログファイルって、一部の行が文字化けしていることがありますよね(アプリケーションが出力しているエラーメッセージなど)。

このようなログファイルから統計情報などを取ろうとして、ログファイルをPythonで読み込もうとすると、案の定、文字化けしている行で「デコードできない」という例外が発生してしまいます。

あと、突然知らないシステムのログを渡されて解析を依頼された時など、一見普通の行に見えるのに何故かPyhonで読み込むと「デコードできない」というエラーが発生する場合もあります。この場合はログファイルの文字コードなどを丹念に調査するという方法もありますが、解析と関係ない行ならば発生するエラーに対処している時間が無いこともあります。

そこで、ファイルを open する際に、引数にパラメータ「errors='replace'」を指定すると、文字化けしている箇所(デコードに失敗した箇所)は「?」に置換して読み込んでくれます。

f = open('foo.log', mode='r', errors='replace')

ログから統計情報を集計したいけど、デコードエラーの処理を書く時間が無い時などお試し下さい。

それでは、良い Python ライフを!!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?