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

2022-01-25 00:00:00 python string compare readfile

问题描述

我有两个文件.文件 A 的每一行都有一些条目,我需要查找文件 B 中是否有任何条目.这是我的脚本(使用两个函数):

I have two files. File A has some entries in each line and I need to find if any entry is found in File B. Here is my script (using two functions):

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()

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

This script finds the first entry in second file and then does not finds the next one. What might be wrong here?

文件 A 如下所示:

122323 
812549
232335
921020

文件 B 看起来像这样:

and File B looks like this:

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  


解决方案

去除换行符

Python 在您读取行时包含换行符 - 您的第一个条目被读取为 1223232 .去掉换行符就可以了.

Strip the entries of newlines

Python includes newlines when you read lines - your first entry is read as 1223232 . Strip the newline and it will work.

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

相关文章