找出文件指针是否在Python中的EOF

时间:2015-08-16 21:11:56

标签: python python-2.7

我试图找出我的文件指针是否在EOF中,如下例所示:(编辑)

f = open("test.dat")

someFunctionDoingStuffOn_f(f)

if f == EOF:         # to keep something like this would be important in my case
    print "EOF reached"
else:
    print "Not EOF"

但我不知道Python中是否有类似的内容。

我已经通过添加someFunctionDoingStuffOn_f(f)编辑了这个问题,因为我可能不知道f之前发生了什么。这排除了一些方法。

2 个答案:

答案 0 :(得分:1)

根据martijns评论,你可以使用Data.HashMap,但我真的不知道它会如何产生影响:

tell

import os R.f.seek(0, os.SEEK_END) n = R.f.tell() R.f.seek(0) while R.f.tell() < n: line = R.f.readline() print(line) print("Not at EOF") print("At EOF") previous question中您的班级的文件对象,但您不能使用islice以相同的方式使用tell。

或者使用if来更像你问题中的逻辑:

R.f

答案 1 :(得分:0)

通常不应该这样做。但是,在您的情况下,这可能是合理的。如果我的建议不适用,请提供一些背景信息。

1

with open("test.dat", "r") as f:
    for line in f:
        do_something_with_line(line)

2

with open("test.dat", "r") as f:
    whole_file = file.read()

编辑后:

看看https://docs.python.org/3.5/library/io.html。您可以使用.read(maxbytes)来做您想做的事。