【发布时间】:2017-03-27 22:32:40
【问题描述】:
下面的代码
fd = open(r"C:\folder1\file.acc", 'r')
fd.seek(12672)
print str(fd.read(1))
print "after", fd.tell()
返回 after 16257 而不是预期的 after 12673
这里发生了什么?文件的创建者有没有办法对文件进行某种保护以干扰我的读取?我只遇到一系列地址的问题。文件的其余部分按预期读取。
【问题讨论】:
-
您可能已到达文件末尾。
-
为什么当我在完全没有错误检查的情况下做这些事情时,它会表现得很奇怪?
-
我还没有到达文件末尾。
-
@KenWhite id 当然愿意向您展示我应该如何错误检查。
-
使用像
C:\...这样的路径名,您显然使用的是Windows。您还使用'r'而不是'rb'打开了文件,因此您已经以“文本模式”打开了它。因此,我不会对奇怪的文件偏移量感到惊讶,但由于我不使用 Windows,我不敢尝试解释这组 特定 值。
标签: python file binaryfiles