在python 3.0中处理所有unicodeDecodeerror
我正在尝试搜索并替换给定文件夹中所有文件中的字符串。 文件夹包含各种文件及其窗口服务器。在python 3.0中处理所有unicodeDecodeerror,python,python-3.x,Python,Python 3.x,我正在尝试搜索并替换给定文件夹中所有文件中的字符串。 文件夹包含各种文件及其窗口服务器。 我正在使用python 3.0。如何避免Unicodedecode错误?此代码是否引发异常?异常是否有行号?请在f.read()中包含回溯。我得到的是-codecs.charmap_decode(输入,self.errors,decoding_table)[0] import os, fnmatch def findReplace(directory, find, replace, filePatt
我正在使用python 3.0。如何避免Unicodedecode错误?此代码是否引发异常?异常是否有行号?请在f.read()中包含回溯。我得到的是-codecs.charmap_decode(输入,self.errors,decoding_table)[0]
import os, fnmatch
def findReplace(directory, find, replace, filePattern):
for path, dirs, files in os.walk(os.path.abspath(directory)):
for filename in fnmatch.filter(files, filePattern):
filepath = os.path.join(path, filename)
enc='utf-8'
with open(filepath,"r",encoding=enc) as f:
s = f.read()
try:
s = s.encode("iso-8859-1").decode("utf-8")
except (UnicodeEncodeError, UnicodeDecodeError):
pass
s = s.replace(find, replace)
with open(filepath, "w",encoding='utf-8', errors='ignore' ) as f:
f.write(s)
def main():
mylist = [ ("findstring", "replacestring")]
for item in mylist:
findReplace('.', item[0], item[1], '*.*')
if __name__=="__main__":
main()