Как искать список чисел во многих файлах

У меня есть 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

Ваш j всегда 0. может быть, вы должны увеличить его где-то?

Keijack 07.05.2022 03:40

пробовал увеличить но толку не было

sammo 07.05.2022 03:41
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуй это:

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}")

Другие вопросы по теме