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

如何读取python 2.7.6中特定行中的特定字符?,python,python-2.7,Python,Python 2.7,假设我把这篇文章写在第5行 " Name: Roger Federer 如何先转到第5行,然后读取并打印“罗杰·费德勒”,而不是整行。在这种情况下,我不知道如何使用file.seek函数。我不会在这里使用file.seek,因为它以字节为参数。只需使用你所知道的: with open('somefile.txt', 'r') as somefile: lines = somefile.readlines() roger_federer_line = lines[4] # 5th

假设我把这篇文章写在第5行

" Name: Roger Federer

如何先转到第5行,然后读取并打印“罗杰·费德勒”,而不是整行。在这种情况下,我不知道如何使用file.seek函数。

我不会在这里使用
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

这假设您的文件行上写着
名称:罗杰·费德勒
。如果在行首有
,则应使用8而不是6。

而不是使用
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
注意:通过将字符串拆分为
并获取最后一个元素,
strip()
有助于省略新行和不需要的前导空格和尾随空格,从
“Name:Roger Federer
中获取
Roger Federer

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

您不需要
file.seek()
。只需对文件中的行执行
并数到5。