Заменить одно слово в каждом файле каталога одним скриптом

В каталоге у меня находятся файлы, хочу заменить одно слово в каждом файле одним скриптом, вот что у меня есть:

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(). И в следующей строке меняете также.

→ Ссылка