Grep означает поиск файла с использованием регулярного выражения. Вы ищете определенный шаблон в файле, и если он найден, вы выполняете некоторые операции.
Python grep
Поиск файла с помощью grep в Python означает, что он будет глобально искать регулярное выражение и печатать строку, если найдет совпадение. Выполните следующие шаги:
- Чтобы открыть файл в режиме записи, используйте метод open().
- Напишите некоторый контент, используя функцию file.write(), и закройте файл.
- Определите шаблон, который вы хотите найти внутри файла.
- Теперь откройте файл в режиме чтения.
- Используйте цикл for, а внутри него используйте метод re.search(), чтобы найти шаблон, и, если он ищет совпадение, затем распечатайте вывод.
Шаг 1: Откройте файл в режиме записи
Чтобы открыть файл в Python, используйте метод open().
|
1 |
file = open("data.txt", "w") |
Шаг 2: Запишите содержимое в этот файл
Запишите содержимое внутри файла, используя функцию file.write(). Затем закройте файл.
|
1 2 |
file.write("One Up\nTwo Friends\nThree Musketeers") file.close() |
Шаг 3: Определите шаблон, который вы хотите найти в файле
Определите шаблон.
|
1 |
pattern = "Friends" |
Итак, мы хотим найти слово «Friends» в файле.
Шаг 4: Откройте файл в режиме чтения
Мы хотим выполнить поиск по ключевому слову и для этого открыть этот файл с помощью функции open() в режиме чтения.
|
1 |
file = open("data.txt", "r") |
Шаг 5: Используйте цикл for для чтения строки за строкой
Чтобы сопоставить строку с регулярным выражением в Python, используйте метод re.search(). Чтобы работать с регулярными выражениями в R, импортируйте модуль re в начало файла.
Если он найдет совпадение с помощью регулярного выражения, то мы напечатаем всю строку. Например, мы ищем слово «Friends», и если оно найдет, то выведет всю строку: «Two Friends».
|
1 2 3 |
for line in file: if re.search(pattern, line): print(line) |
Итак, мы читаем файл построчно, и если он находит какое-либо слово, противоречащее шаблону, он печатает всю строку. См. полный код.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import re file = open("data.txt", "w") file.write("One Up\nTwo Friends\nThree Musketeers") file.close() pattern = "Friends" file = open("data.txt", "r") for word in file: if re.search(pattern, word): print(word) |
Вывод:
|
1 |
Two Friends |

