f.seek(0, SEEK_END) 出现为 NoneType

f.seek(0, SEEK_END) coming up as NoneType

我有一些为 Python 3 编写的代码,我试图使 Python 2.7 兼容。在 Python 3 中,代码 f.seek(0, SEEK_END) returns 320816 但在 Python 2 中,代码相同 returns None。当我打印我感兴趣的文件部分时,我得到了一堆 b'NEUEVLBL\x90\x00ainp16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 形式的行,这让我相信这个错误与 Python 2.7 阅读这个作为常规字符串而不是字节文字,可能与 Python 2.7 使用 \ 作为转义字符有关(在 Python 3 中不是这种情况)。有人有什么建议吗?

编辑:在任何人建议之前,是的,我已经尝试过 3to2

您正在使用 open() 在 2.7 中打开文件,但这不会 return 其 seek() 方法 return 新文件指针的文件对象地点。请改用 io.open()