Page-level ads

python 3.5.2 の configparser で UnicodeDecodeError が出た場合の対処法 – つまさぽ(妻のサポート)

技術

python 3.5.2 の configparser で UnicodeDecodeError が出た場合の対処法

投稿日:

ws-pc-top

最近、会社でpythonを扱う機会があり、勉強中です。

せっかくなので、個人的にもヤフオクAPIで商品情報を取得し、加工するコードを書いていたのですが、Sublime Text 3 でpythonを実行すると、ConfigParserで文字コードに引っかかったので、備忘録として残しておきます。

ws-pc-more

環境

  • OS:MacOS Sierra
  • 実行環境:Sublime Text 3 で [cmd + B]でビルド
  • Python:Python 3.5.2
  • 文字コード:UTF-8
  • 改行コード:LF

コード(対処前)

config.ini

config.py

エラー内容

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe3 in position 135: ordinal not in range(128)

Sublime Text 3 で [cmd+B] を押して config.py を実行すると下記のエラーが発生しました。

ちなみに、ターミナルから実行すると特にエラーは出ませんでした。

対処法

ConfigParser.readfp() と codecs を使う

ConfigParser with Unicode items を参考にさせていただきました。

コード(対処後)

config.py を下記のように修正します。

config.py

実行結果

正常に出力されるようになりました。

おわりに

まだ python の文字コードを理解していないので、原因がよくわかりませんが、これでエラーを解消できました。

参考になれば幸いです。

ws-pc-btm

ws-pc-btm-right

-技術
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Pythonライブラリのライセンス情報を一括出力する方法

仕事で使っているOSSのライセンスに問題がないか確認する必要がありました。 Pythonライブラリもその対象だったのですが、数が多くて「pip list」からの「pip show [package名] …

Parallels Desktop から VirtualBox へ移行した際にゲストOS Windows10 で発生する共有プロファイルエラーの対処法

Parallels Desktop から VirtualBox へ移行しました。 ゲストOSのWindows10にログインするとエラーが発生しましたので、その対策を残しておきます。 有料の Paral …

Crayon Syntax Highlighter

Crayon Syntax Highlighter のテーマ一覧

はじめに 技術系ブログを運営する上でのあこがれ、Syntax highlightingを導入しました。 業務で技術系の調査をしている時に、Syntax highlightingを使って情報を提供してい …

Mac Pro 2009 で Gainward GeForce GTX 680 Phantom HDMI オーディオ音声出力を有効にする方法

ヤフオクで念願のMac Pro 2009 を手に入れました。 グラボは GeForce GTX680 ですが、HDMI接続しても音声が出力されません。。。 その対処法を記しておきます。

旧型Mac に SSDとSSHDを装着しFusion Drive 作成する方法

Macbook Pro 15-inch Late2011 が手に入ったので、大人なカスタマイズをすることにしました。

ws-pc-side-top

ws-pc-side-btm