[英]Print first line in python stdout
我有一個包含以下格式內容的文件,值由“;”分隔
abc@test;value1;12345;value1.1
nmp@test;value2;98766;value2.1
plm@test;value1;12345;value1.1
我正在處理 python 腳本,如果行與提供的輸入匹配則打印值。 在此,如果輸入值為“12345”,則 output 將如下所示:-
abc@test;value1;12345;value1.1
plm@test;value1;12345;value1.1
我需要的只是 output 的第一行。下面是代碼:-
with open (full_file,'r') as f:
for line in f:
if input_id in line:
print (line)
為了拆分值(列),我發現在這種情況下使用line.split(";")[2]
。
如何僅從 output 獲取第一行/行?
有幾種方法可以做到這一點,
您可以在找到匹配項后break
退出循環,
result = None
with open (full_file,'r') as f:
for line in f:
if input_id in line:
result = line
break
稍后你可以檢查
if result is None:
print("No Match found")
else:
print(f"Match found {result}")
要么
您可以使用生成器表達式,
with open (full_file,'r') as f:
result = next(line for line in f if input_id in line, None)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.