![](/img/trans.png)
[英]How to search for word in text file and print part of line with Python?
[英]Python print first instance of a file line search
我正在解析 a.desktop 文件是 python。 我写了以下内容来查找要启动的应用程序的名称。
o2 = self.name
#create a temp file so that i can...
tmp = tempfile.NamedTemporaryFile()
with open(tmp.name, 'w') as f:
f.write(o2)
#use readline for a grep like function
with open(tmp.name) as f:
for line in f.readlines():
if 'Name=' in line:
注意:self.name 是一个字符串版本的。 桌面文件..问题是每次我进行搜索时,它都会在搜索中找到最后一个项目,我将以 alacritty 为例。
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupWMClass=Alacritty
Actions=New;
[Desktop Action New]
Name=New Terminal
Exec=alacritty
我希望它打印出你看到的第一个 Name= 但它会打印出 [Desktop Action New] 下的最后一个 Name= 我该如何解决这个问题?
所以你想打印第一个'Name='
而不是第二个? 如果这是您想要做的,只需在打印第一个'Name='
后中断循环
o2 = self.name
#create a temp file so that i can...
tmp = tempfile.NamedTemporaryFile()
with open(tmp.name, 'w') as f:
f.write(o2)
#use readline for a grep like function
last_line = None
with open(tmp.name) as f:
for line in f.readlines():
if 'Name=' in line:
print(line)
#maybe do some more staff, then :
break
这将阻止打印第二个'Name='
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.