如何在特定行中读取python 2.7.6中的特定字符?

时间:2014-04-14 18:45:21

标签: python python-2.7

假设我的文字写在第5行

" Name: Roger Federer

我怎样才能首先到第5行,然后读取并打印出“Roger Federer”而不是整行。我在这种情况下没有得到如何使用file.seek功能。

2 个答案:

答案 0 :(得分:3)

我不会在这里使用file.seek,因为它将 bytes 作为参数。只需使用你所知道的:

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。

答案 1 :(得分:0)

不是使用readlines()将整个文件加载到内存中(仅用于读取单个第5行),而是逐行遍历文件对象并停止(break)第5行:

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 Federer,从:中获取strip()有助于省略新行和不需要的前导和尾随位:

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