如何使用tf.gfile.GFile解析用于剥离回车的'utf-8'编解码器?

时间:2018-05-25 16:07:09

标签: python tensorflow

我正在使用它:

label_lines = [line.rstrip() for line in tf.gfile.GFile(path2)]

这引发了我的错误:

  File "C:\Python\lib\site-packages\tensorflow\python\util\compat.py", line 88, in as_text
    return bytes_or_text.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 0: invalid start byte

2 个答案:

答案 0 :(得分:0)

您还没有提供足够的信息来准确了解,但GFile内容很可能正在打开path指定的文件。如果这是正确的,那么错误很可能沿着以下几行:

  1. GFile可能正在"文本模式"中打开文件。 " text"的定义是文件中的字节必须转换为" text"使用一些规则。
  2. 您尚未指定这些规则是什么,因此GFile正在应用默认值,它似乎是" utf-8"。供参考,the Python docs talk about what the standard library does
  3. 但是,该文件的内容不是" utf-8"兼容。
  4. 由于文件至少包含字节0xbb,因此看起来不像香草文本。你确定文件包含文字吗?无论如何,如果没有提供有关文件内容的确切形式以及GFile上可用的参数的更多详细信息,很难推测修复。

    顺便说一句,我注意到0xbb是BOM的一部分,虽然不是第一个字符。 Windows上的某些应用程序确实在文本文件的开头使用BOM。所以,如果你认为它是文本,也许是文本前面有一个BOM?在这种情况下,还有其他answers on SO可能会有所帮助。

答案 1 :(得分:0)

嗯,.pb意外地与'笔记本'有关。 一旦我通过关联删除了打开,问题就消失了。我不确定如何或为什么,但问题解决了。