的UnicodeDecodeError: 'CP932' 編解碼器不能解碼字節0xFC有
import os
for root, dirs, files in os.walk('Path'):
for file in files:
if file.endswith('.c'):
with open(os.path.join(root, file)) as f:
for line in f:
if 'word' in line:
print(line)
收到錯誤
的UnicodeDecodeError: 'CP932' 編解碼器不能在6616位置解碼字節0xFC有:非法多字節序列
我認爲文件需要移位jis編碼。 我可以在開始時設置編碼嗎? 我試圖設置 張開(os.path.join(根,文件), 'R',編碼= 'CP932')爲f: ,但得到同樣的錯誤
您可以添加完整的堆棧跟蹤,以查看在「print(line)」還是在「for line in f」中引發了Exception? 您可能必須以二進制模式打開文件,因爲您不知道所有文件的編碼。 – cbodt