Разбор текстового файла на основе регулярного выражения / свободного текста - PullRequest
1 голос
/ 28 марта 2019

Я новичок в Python, поэтому пытаюсь найти хорошее решение / подход к выполнению некоторых операций с текстовым файлом:

Чего я хочу достичь:
Просмотрите текстовый файл, который содержит 5–10 тыс. Строк для конкретного текста на основе регулярных выражений и на основе некоторого свободного текста, проверяя строку за строкой, сохраняя его и сохраняя в другом файле.

Что было бы хорошим способом достичь этого в python?

Нормальный способ чтения и анализа файлов должен работать?

Ответы [ 2 ]

1 голос
/ 28 марта 2019
with open("in.txt") as f:
    lines = [l for l in lines if "ROW" in l]
with open("out.txt", "w") as f1:
    f1.writelines(lines)

по-другому

with open("in.txt") as f, open("out.txt", "w") as f1:
    for line in f:
        if "ROW" in line:
            f1.write(line) 
0 голосов
/ 28 марта 2019

Еще один подход поверх @ Ayoub Benayache's , использующий re, но для шаблонов регулярных выражений, если это необходимо.

import re

pattern = re.compile(r"^.*pattern.*$", re.M|re.I)

with open("in.txt", 'r') as infile:
    lines = pattern.findall(infile.read())
with open("out.txt", 'w') as outfile:
    outfile.write('\n'.join(lines))
...