Windowsとかでファイル読み込みしたい案件があり、文字コードの判定処理作ってみました。エンコーを判別して処理します。適当に作ったので問題があるかもしれません。
import chardet def fileread(filepath): """ ファイルから読み込む """ with open(filepath) as f: for line in f: print chartrans(line) def chartrans(in_str): """ 文字コードを判定して変換 """ encode = chardet.detect(in_str)['encoding'] if encode != '': return in_str.decode(encode) else: return None if __name__ == "__main__": fileread("yamada.txt")