如何读取python 2.7.6中特定行中的特定字符?
假设我把这篇文章写在第5行如何读取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
" 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。