[ホーム] -
[よく見るエラーメッセージ一覧] - ["UnicodeDecodeError: 'cp932' codec can't decode byte 0x86 in position 13: illegal multibyte sequence"の原因と対処]
作成日:2022/03/06
Windows 11環境において Python3.x 上で read によりファイルを読み込もうとした場合、次のエラーで失敗する場合があります。
UnicodeDecodeError: 'cp932' codec can't decode byte 0x86 in position 13: illegal multibyte sequence
f = open('c:\\temp\\test.txt', 'r')
#ファイルを全て読み込む
buf = f.read()
#すべて書き出す
print(buf)
f.close()
Traceback (most recent call last):【正しい】
File "c:\temp\test.py", line 5, inbuf = f.read()
UnicodeDecodeError: 'cp932' codec can't decode byte 0x86 in position 13: illegal multibyte sequence
f = open('c:\\temp\\test.txt', 'r', encoding='UTF-8')
#ファイルを全て読み込む
buf = f.read()
#すべて書き出す
print(buf)
f.close()
テキストファイルの1行目
テキストファイルの2行目
テキストファイルの3行目
サンプルコード
以下は Windows 10 環境における正常実行可能なサンプルコードです。
テキストファイルを一括でバッファに読み込み、一気に出力するサンプルプログラムです。
サンプルコード:
f = open('c:\\temp\\test.txt', 'r', encoding='UTF-8')
#ファイルを全て読み込む
buf = f.read()
#すべて書き出す
print(buf)
f.close()
実行結果:
テキストファイルの1行目
テキストファイルの2行目
テキストファイルの3行目
ファイルを一括して読み込み、1行ごとに処理するサンプルです。
サンプルコード:
f = open('c:\\temp\\test.txt', 'r' , encoding='UTF-8')
#ファイルを全て読み込む
buf = f.readlines()
#1行ごと書き出す
for linedata in buf:
print(linedata)
f.close()
実行結果:
テキストファイルの1行目
テキストファイルの2行目
テキストファイルの3行目
ファイルを1行ごと読み込み出力するサンプルコードです。
サンプルコード:
f = open('c:\\temp\\test.txt', 'r' , encoding='UTF-8')
while True:
#1行ごと読み出す
linedata = f.readline()
if linedata == '':
break
print (linedata)
f.close()
実行結果:
テキストファイルの1行目
テキストファイルの2行目
テキストファイルの3行目
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)
[ホーム] - [よく見るエラーメッセージ一覧]