Заменить одно слово в каждом файле каталога одним скриптом
В каталоге у меня находятся файлы, хочу заменить одно слово в каждом файле одним скриптом, вот что у меня есть:
import re
import os
find = input("Введите значение, которое необходимо заменить: ")
writ = input("На что заменять: ")
for all_f in os.listdir("D:\SEP"):
data = open(all_f, encoding='utf-8').read()
o = open(all_f, 'w', encoding='utf-8')
o.write(re.sub(find, writ, data))
o.close()
переменная all_f носит в себе только название файла, я не смогу его открыть?
Ответы (1 шт):
Автор решения: Сергей
→ Ссылка
Так как вы изменяете файлы в директории "D:\SEP", то полный путь тогда можно записать f'D:\SEP\{all_f}'. Так как \ является спецсимволом, то его экранируют, самим собой. Тогда data = open(f'D:\SEP\{all_f}', encoding='utf-8').read(). И в следующей строке меняете также.