如何在多个文件中搜索数字列表
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}")
我有 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}")