假设我的文字写在第5行
" Name: Roger Federer
我怎样才能首先到第5行,然后读取并打印出“Roger Federer”而不是整行。我在这种情况下没有得到如何使用file.seek功能。
答案 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