我需要使用一个文本文件中的字符串来搜索另一个,每次字符串在第二个文本文件中匹配时,在第二个字符串中搜索一个单词word
,如果匹配,则创建第三个文本文件,其中包含第二个文本文件中的特定列文本文件,并对第一个文本文件中的每个字符串重复。
例子
文本文件 1:
10.2.1.1
10.2.1.2
10.2.1.3
文本文件 2:
IP=10.2.1.4 word=apple thing=car name=joe
IP=10.2.1.3 word=apple thing=car name=joe
IP=10.2.1.1 word=apple thing=car name=joe
IP=10.2.1.2 word=apple thing=car name=joe
IP=10.2.1.1 word=apple thing=car name=joe
IP=10.2.1.3 word=apple thing=car name=joe
结果应该是三个单独的文本文件(以文本文件中的字符串命名),每个字符串包含第三列:
结果:10.2.1.3.txt
thing=car
thing=car
等等
到目前为止,我的代码如下所示:
with open(file_1) as list_file:
for string in (line.strip() for line in list_file):
if string in file_2:
if "word" in file_2:
column2 = line.split()[2]
x = open(line+".txt", "a")
with x as new_file:
new_file.write(column2)
我的问题是:这段代码是最好的方法吗?我觉得好像缺少一条重要的“捷径”。
Olafur Osvaldsson的最终代码:
for line_1 in open(file_1):
with open(line_1+'.txt', 'a') as my_file:
for line_2 in open(file_2):
line_2_split = line_2.split(' ')
if "word" in line_2:
if "word 2" in line_2:
my_file.write(line_2_split[2] + '\n')