もくじ
※「mode=’r’」を省略するとデフォルトで読み込みの動作になります。
read() 全文を文字列として取得
with open(file, 'r', encoding='utf-8') as f:
f_text = f.read()
print(f_text)
いろはにほへと
ちりぬるを
わかよたれそ
readlines() 全行をリストとして取得
with open(file, 'r', encoding='utf-8') as f:
f_list = f.readlines()
print(f_list)
[‘いろはにほへと\n’, ‘ちりぬるを\n’, ‘わかよたれそ’]
1行ずつ処理
with open(file, 'r', encoding='utf-8') as f:
for row in f:
print(row)
いろはにほへと
ちりぬるを
わかよたれそ
ファイル 読み込み エラー
文字化けするときは encoding=”utf-8″
糸偏だらけの漢字に文字化けしている場合は、エンコードを指定してみます。
with open(file, 'r', encoding='utf-8') as f:
OSError: [Errno 22] Invalid argument:
このエラーの多くはファイルパスが原因です。パスの最初に’r’を付けてraw文字にしてみます。
file = r'C:\Users\Downloads\test.txt'
with open(file, 'r', encoding='utf-8') as f:
UnicodeDecodeError:
このエラーの多くはエンコードの違いが原因です。ファイル内のテキストが日本語の場合は別のエンコード(encoding=”shift-jis”など)で試してみます。
with open(file, 'r', encoding='shift-jis') as f:
エンコードは間違っていないのにエラーが解消しない場合はBOMのせいかもしれません。errors=”ignore”でBOMエラーを無視してみます。
※BOM(バイトオーダーマーク)とは、Unicode形式の種類の違いを示すためにファイルの先頭に付与されたデータのこと。
with open(file, 'r', encoding='utf-8', errors='ignore') as f: