2010-09-04 94 views

回答

7

是否這樣?

file.tell() 

返回文件的當前位置,如stdio的ftell()。

http://docs.python.org/library/stdtypes.html#file-objects

不幸的是告訴(),因爲OP是使用標準輸入,而不是一個文件不起作用。但爲了給你所需要的東西打造一個包裝並不難。

class file_with_pos(object): 
    def __init__(self, fp): 
     self.fp = fp 
     self.pos = 0 
    def read(self, *args): 
     data = self.fp.read(*args) 
     self.pos += len(data) 
     return data 
    def tell(self): 
     return self.pos 

然後你就可以使用它代替:

fp = file_with_pos(sys.stdin) 
+0

我從sys.stdin和file.tell()讀取輸入似乎並沒有在與它的工作.. – easysid 2010-09-07 18:03:33

+0

添加包裝類回答。 – 2010-09-07 18:22:06

+0

謝謝你的迴應...會嘗試一下...但是,目前我已經實施了一個計數器變量來保持位置的跟蹤。它工作得很好,因爲我只需要文件中的相對位置。 – easysid 2010-09-09 20:20:15

相關問題