的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