我正在寻找一些python代码,它将从textfile1.txt获取值,然后搜索textfile2.txt中的每一行并返回包含textfile1.txt值的任何LINE。举个例子:
textfile1.text contains:
Chad
Flash
Arrow
textfile2.text contains:
Who is awesome? Chad
Fastest human alive? Flash
Looks good in green? Arrow
一旦找到textfile1的内容,我就需要它从textfile2打印上一行代码。设置此特定数据库的方式,textfile1中的值将始终显示在textfile2中行的末尾。我尝试了很多东西,但我无法让它发挥作用。这是我最接近任何结果:
with open("textfile2.txt") as f:
x = f.read()
with open("textfile1.txt") as f:
for i in (line.strip() for line in f):
if i in x:
print(i, ', found.')
结果如下:
[Chad] , found.
[Flash] , found.
[Arrow] , found.
我尝试翻转textfile1和textfile2,但无济于事。任何帮助将不胜感激!我甚至不确定这是否可以做到,但我想在放弃之前我会问这里。
答案 0 :(得分:2)
您还需要打印该行:
with open('textfile2.txt') as f:
words = [line.strip() for line in f]
with open('textfile1.txt') as f:
for line in f:
if line.split(' ')[-1].strip() in words:
print(line)
我将每一行分成一个空格,作为获取所有单词的便宜方式:
>>> s = 'Who is awesome? Chad'
>>> s.split(' ')[-1]
'Chad'
答案 1 :(得分:0)
打印行而不是print (i)
;
print(line, ', found.')
因为i
是这里的单词,所以你想要打印行,而不是单词。