簡體   English   中英

Python:從文件中讀取行,檢查是否在其他文件中,如果是打印行到輸出文件

[英]Python: Read line from File, check if in other file, if it is print line to output file

我有一個包含 ID 列表的文本文件。 我想遍歷該文件的行,檢查 ID 是否出現在第二個文件“extra_lines.txt”的行中。 如果 ID 出現在第二個文件的一行中,我想將整行打印到 output.txt。 但是,僅打印包含最終 ID 的行。 我究竟做錯了什么?

outfile = open("output.txt", "a")

def checkLine(ID):        
    with open("extra_lines.txt") as f:
        for line in f:
            if ID in line:
                outfile.write(line)

for ID in open("IDs.txt", "r"):
    checkLine(ID)      

我的猜測是您的“ID”字符串包含除最后一行之外的每一行的換行符。 結果是

if ID in line:

失敗,因為“行”不包含后跟換行符的 ID。

有關如何在沒有換行符的情況下讀取每一行的信息,請參閱讀取沒有換行符的文件

ID.strip("\n")

對我有用(Python 3.5)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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