我正在运行一个简单的代码,将文件中的单词替换为另一个单词,如下所示:
import random
import os
path = '/path/of/file/'
files = os.listdir (path)
for file in files:
with open (path + file) as f:
newText = f.read().replace('Plastic Ba','PlasticBag')
with open (path + file, "w") as f:
f.write(newText)
这样做,我得到一个以前从未遇到过的错误:
Traceback (most recent call last):
File "replaceText.py", line 9, in <module>
newText = f.read().replace('Plastic Ba', 'PlasticBag')
File "/Users/vivek/anaconda3/lib/python3.6/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 3131: invalid start byte
我不确定这是什么意思还是这里的错误是什么?我过去多次运行此脚本,没有任何问题。解决这个问题的任何帮助都会很棒!
答案 0 :(得分:0)
您是否尝试将文件编码为'UTF-8'? 请检查“打开”功能参数,
@Donkey@
在您的脚本中,尝试使用
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
您还可以签出编解码器库中可用的 open 方法。 请检查这个问题。 Unicode (UTF-8) reading and writing to files in Python
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 3131: invalid start byte