簡體   English   中英

在 python 標准輸出中打印第一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM