Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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
当我在Python3上使用'os.walk'获取文件路径时,这个错误意味着什么?_Python_Python 3.x - Fatal编程技术网

当我在Python3上使用'os.walk'获取文件路径时,这个错误意味着什么?

当我在Python3上使用'os.walk'获取文件路径时,这个错误意味着什么?,python,python-3.x,Python,Python 3.x,这个错误太长了,所以我没有把它放在标题中。以下是错误: Traceback (most recent call last): File "./auto_change_shebang_and_permission.py", line 12, in <module> shebang = f.readline() File "/usr/lib/python3.4/codecs.py", line 319, in decode (result, consumed) =

这个错误太长了,所以我没有把它放在标题中。以下是错误:

Traceback (most recent call last):
  File "./auto_change_shebang_and_permission.py", line 12, in <module>
    shebang = f.readline()
  File "/usr/lib/python3.4/codecs.py", line 319, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8c in position 3: invalid start byte

它正在工作,但会引起错误。我不知道哪里出了问题。

好了,现在我明白什么地方出了问题。因为
如果根[:3]=='./.
仅在
sys.argv[1]
时工作

然后,就像@AnandSKumar说的。程序得到的文件不是文本文件


所以现在我编辑代码如下:

if fnmatch(root, sys.argv[1]+'/.*'):
    pass

现在它工作得很好,谢谢@AnandSKumar。

您可以尝试打印文件名,您得到错误的原因很可能是,您得到错误的文件不是文本文件。@AnandSKumar好主意,让我试试。@AnandSKumar是的,您是对的。程序排除了隐藏文件,但不排除隐藏目录。现在我知道怎么了。
if fnmatch(root, sys.argv[1]+'/.*'):
    pass