У меня есть файл (file1.txt), где первый столбец содержит строки, я хочу отфильтровать в другом файле (file2.txt) строки, строки которых точно соответствуют списку «indref» (см. Код). Проблема в том, что полученный файл (см. Короткий пример) также добавляет те строки, которые «начинаются» со значений, которые я хочу добавить. Я просто хотел бы добавить конкретные строки (те, в «indref»). Спасибо.
import numpy as np
indref = ['p1', 'p3']
with open('file1.txt') as oldfile, open('file2.txt', 'w') as newfile:
for line in oldfile:
if any(x in line for x in indref):
newfile.write(line)
Пример file1.txt
p1 4.252613E+01
p2 4.245285E+01
p3 4.272667E+01
p4 4.255809E+01
p5 4.284104E+01
p6 4.292802E+01
p7 4.295814E+01
p8 4.286242E+01
p9 4.286862E+01
p10 4.258108E+01
file2.txt:
p1 4.252613E+01
p3 4.272667E+01
p10 4.258108E+01