如何在多个文件中搜索数字列表

How to search list of numbers in many files

我有 5 个包含数字的文件,需要搜索数字列表并打印其中包含的文件的名称。我试过这段代码但没有用

import os 
 
out = open('output', 'w')                                                          
numbers = [23175,2080,6277,6431,19846,10330,25408,25811,8454,10515]
filenames = {
    'G':'green.txt',
    'R':'red.txt',
    'B':'blue.txt',
    'Y':'yellow.txt',
    'O':'orange.txt',
}
for k,filename in filenames.items():
    j=0
    with open(filename, 'r') as f:
        for line in f:
            if int(line.strip()) == numbers[j]:
                print(filename)
                print(numbers[j])
            else :
                j+=1

我得到了

if int(line.strip()) == numbers[j]:
IndexError: list index out of range

试试这个:

numbers = [23175, 2080, 6277, 6431, 19846,
           10330, 25408, 25811, 8454, 10515]
str_numbers = [str(num) for num in numbers]
filenames = {
    'G': 'green.txt',
    'R': 'red.txt',
    'B': 'blue.txt',
    'Y': 'yellow.txt',
    'O': 'orange.txt',
}
for k, filename in filenames.items():
    with open(filename, 'r') as f:
        for line in f:
            num_line = line.strip()
            if num_line in str_numbers:
                print(f"{k}:{filename} => {num_line}")