Вставить строку во все файлы в директории и поддиректориях
Нужно вставить во все файлы с расширением .php в директории и в поддиректориях <?php print_r(get_included_files());
Пробовал:
import os, re
from pathlib import Path
directory = ("/opt/lampp/htdocs/Joomla390")
for x in directory.rglob('*.php'):
directory.write('<? print_r(get_included_files());')
print(directory)
Но мимо. Как можно такое провернуть на Python?
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
directoryу вас просто строка, у строки нет методаrglob. Чтобы работало,directoryдолжно быть объектомPath:directory = Path("/opt/lampp/htdocs/Joomla390")В цикле вы пытаетесь писать в
directory, а нужно писать в файл, путь к которому попадает в переменнуюx. Нужно проверить чтоxу вас файл (вдруг у вас там окажется директория с именем заканчивающимся на.php?), открыть этот файл, записать туда строку.
from pathlib import Path
directory = Path("/opt/lampp/htdocs/Joomla390")
for path in directory.rglob('*.php'):
if path.is_file():
print(path.name)
with open(path, 'a') as file:
file.write('<? print_r(get_included_files());')
Параметр 'a' в open означает, что файл будет открыт в режиме добавления данных, строка будет добавлена в конец файла.