https://github.com/affinelayer/pix2pix-tensorflow/tree/master/tools

在上面的站点上编译“process.py”时发生错误。

 python tools/process.py --input_dir data --            operation resize --outp
ut_dir data2/resize
data/0.jpg -> data2/resize/0.png

回溯(最近一次调用):

File "tools/process.py", line 235, in <module>
  main()
File "tools/process.py", line 167, in main
  src = load(src_path)
File "tools/process.py", line 113, in load
  contents = open(path).read()
      File"/home/user/anaconda3/envs/tensorflow_2/lib/python3.5/codecs.py", line 321, in decode
  (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode     byte 0xff in position 0: invalid start byte

错误的原因是什么? Python的版本是3.5.2。


当前回答

我对PNG文件也有类似的问题。我尝试了以上的解决方案,但都没有成功。 这个在python 3.8中对我有用

with open(path, "rb") as f:

其他回答

如果你在mac上,检查是否有一个隐藏文件,. ds_store。删除文件后,我的程序工作。

使用ISO-8859-1编码格式解决此问题。

那些在处理数据帧的Pandas时遇到类似错误的人使用以下解决方案。

示例解决方案。

df = pd.read_csv("File path", encoding='cp1252')

有一个类似的问题,最后使用UTF-16解码。我的代码如下。

with open(path_to_file,'rb') as f:
    contents = f.read()
contents = contents.rstrip("\n").decode("utf-16")
contents = contents.split("\r\n")

这将把文件内容作为导入,但它将以UTF格式返回代码。从那里开始,它将被解码并以行分隔。

我在处理从Linux生成的文件时遇到了同样的问题。事实证明,这与包含问号的文件有关。