我有一个包含很长行的日志文件。我使用read()和readline()的混合来读取文件。我在使用Jython 2.7时看到了奇怪的行为,而CPython2.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。我是否以不正确的方式使用搜索/阅读?还是有不同的问题?