2014-04-14 66 views
1

假設我有這樣的文字寫在行號5如何在特定行中讀取python 2.7.6中的特定字符?

" Name: Roger Federer 

我怎麼能去排隊號碼5,然後再讀取並打印出「費德勒」,而不是整個line.I我沒有得到如何在這種情況下使用file.seek函數。

+1

你不需要'file.seek()'。只要執行'for line in file:'並計數到5。 –

回答

3

我不會在這裏使用file.seek,因爲它需要字節作爲參數。只需使用你所知道的:

with open('somefile.txt', 'r') as somefile: 
    lines = somefile.readlines() 

roger_federer_line = lines[4] # 5th line 
print(roger_federer_line[6:]) # print 6th character onwards 

這是假設你的文件行說:Name: Roger Federer。如果它在行首有",則應該使用8而不是6.

0

而不是使用readlines()(僅用於讀取單個第5行)將整個文件加載到內存中,迭代文件對象行5個行逐行且停(break):

with open('input.txt', 'r') as f: 
    for number, line in enumerate(f): 
     if number == 4: 
      print(line.split(':')[-1].strip()) 
      break 

注:由:分割字符串,並獲得最後一個元素越來越Roger Federer" Name: Roger Federerstrip()有助於忽略新線和不必要的前導和尾隨空格:

>>> line = " Name: Roger Federer" 
>>> print(line.split(':')[-1].strip()) 
Roger Federer 
相關問題