我有一个包含很长行的日志文件。我混合使用 read() 和 readline() 来读取文件。当 CPython2.7 正常工作时,我在使用 Jython 2.7 时看到了奇怪的行为。以下是重现我的问题的示例代码。
file = open("test.log", "w")
file.write("."*100 + "\n" + "."*4100 + "\n" + "."*100)
file.close()
file = open ("test.log")
data = file.read(4096)
data = file.readline()
print "Current fd position: "+str(file.tell())
seek_back=4100
print "seeking back: "+str(seek_back)
data = file.seek(-seek_back, 1)
print "fd position after seek: "+str(file.tell())
最后一行的 fd 位置对于 CPython 是 102,对于 Jython 是 202。我是否以不正确的方式使用查找/读取?还是有不同的问题?