在python中的另一个文件中查找一个文本文件的条目

2024-10-03 21:31:38 发布

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

我有两份文件。文件A的每一行都有一些条目,我需要找到文件B中是否有条目。以下是我的脚本(使用两个函数):

def readB(x):
 with open('B.txt') as resultFile:
    for line in resultFile:
        if x in line:
            print x


def readA():
 with open('A.txt') as bondNumberFile:
    for line in bondNumberFile:
        readB(line)

readA()

这个脚本在第二个文件中找到第一个条目,然后找不到下一个条目。这里可能有什么问题?在

文件A如下所示:

^{pr2}$

文件B是这样的:

696798  727832  750478  784201  812549  838916  870906  890988  921020  
697506  727874  751037  784955  813096  838978  872494  891368  921789  
696798  727832  750478  784201  812549  838916  870906  890988  921020  
697506  727874  751037  784955  813096  838978  872494  891368  921789  

Tags: 文件intxt脚本fordefaswith
2条回答

您不一定需要定义函数来实现这一点

with open('a.txt') as a, open('b.txt') as b:
    result = set(a.readlines()) & set(b.readlines())

如果它们都有相同的行,它将在一个集合中返回它们。在

如果你真的想要一个函数,你可以这样写

^{pr2}$

删除换行符的条目

Python在读取行时包含新行-您的第一个条目被读取为1223232\n。去掉换行符就行了。在

def readA():
    with open('A.txt') as bondNumberFile:
        for line in bondNumberFile:
            readB(line.rstrip())

相关问题 更多 >