В сценарии unix присутствует следующий фрагмент кода:
grep -E 'value1' file1.txt | grep 'value2' | grep 'value3' | grep 'value3'
Вышеприведенная команда выполняет поиск всех этих переменных из file.txt и основывается на результате записи «строки» в file1 elseнапишу 'строку' в file2
Я хочу повторить ту же функциональность в Python.
Я создал массив со значениями для переменных:
regexarr = ['value1', 'value2', 'value3', 'value4']
Затем я открыл файл как:
with open('file1.txt', 'r') as file1:
# then I have the below code to match the strings in the regexarr
if any(re.findall('|'.join(regexarr), file1.read())):
with open ('file2.txt', 'a+') as file2:
file2.write(eachline)
else:
with open('file3.txt', 'a+') as file3:
file3.write(eachline)
с указанным выше кодом, ничего не записывается в file3.txt, даже если у меня есть тестовые данные, которые я хочу записать в file3.txt
Как я могу получить ту же функциональность, что и в Unix в Python?