下面的文本文件显示频道名称的说明&;频道事件
desc.txt文件:
Channel Name: CBS
Event Name: FIFA World Cup 2018 Qualifying
Channel Name: BEINSPORTS
Event Name: NFL
下面的Python代码只查找第一个“事件名称”和相关描述
flist = open('/tmp/desc.txt').readlines()
for line in flist:
if line.startswith("Event Name:"):
eventname = line[12:-1]
file2 = open('/tmp/test_live.txt','w')
file2.write(eventname + "\n")
我想要的是下面的描述,我现在得到的是 文件中有“2018年国际足联世界杯预选赛”
测试_live.txt
FIFA World Cup 2018 Qualifying
NFL
以前的帖子用实现的代码指出了什么
请注意,您正在以写入(
'w'
)模式打开文件,因此文件test_live.txt的全部内容在每次迭代中都会被擦除。改用追加('a'
)模式您一直在打开同一个文件并向其中写入一行。您有两个选项:可以在循环外打开它一次(效率更高),也可以在退出循环时关闭它(还应该关闭另一个
open
语句)。或者您可以使用'a'
而不是'w'
打开它,以将附加到文件中。 但是我会在进入for
循环之前打开它。 此外,循环不应缩进到flist
行下,除非使用with
注意:我认为通常应该使用
.rstrip()
而不是用[:-1]
截断\n
。最后一行的结尾可能没有换行符,您将丢失该字符相关问题 更多 >
编程相关推荐