Python:从文件中读取行,检查是否在其他文件中,如果是打印行输出fi

2024-05-08 15:26:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有ID列表的文本文件。我想遍历该文件的行,检查ID是否出现在第二个文件“extra”的行中_行.txt". 如果ID出现在第二个文件的一行中,我想将整行打印到输出.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)      

Tags: 文件intxtid列表foroutputdef
1条回答
网友
1楼 · 发布于 2024-05-08 15:26:45

我猜除了最后一行之外,你的ID字符串每行都包含一个换行符。结果是

if ID in line:

失败,因为“line”不包含后跟换行符的ID。你知道吗

请参阅Reading a file without newlines,了解如何读取没有换行符的每一行。你知道吗

ID.strip("\n")

适合我(Python3.5)。你知道吗

相关问题 更多 >

    热门问题