Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python 3.0中处理所有unicodeDecodeerror_Python_Python 3.x - Fatal编程技术网

在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()