множественный поиск и замена в Python - PullRequest
0 голосов
/ 11 августа 2011

Мне нужно найти в родительской папке все файлы, которые являются config.xml и в этих файлах заменить одну строку в другой.(от этого-до-как)

Ответы [ 2 ]

1 голос
/ 11 августа 2011
import os
parent_folder_path = 'somepath/parent_folder'
for eachFile in os.listdir(parent_folder_path):
    if eachFile.endswith('.xml'):
       newfilePath = parent_folder_path+'/'+eachFile
       file = open(newfilePath, 'r')
       xml = file.read()
       file.close()
       xml = xml.replace('thing to replace', 'with content')
       file = open(newfilePath, 'w')
       file.write(str(xml))
       file.close()

Надеюсь, это то, что вы ищете.

0 голосов
/ 11 августа 2011

Вы хотите взглянуть на os.walk() для рекурсивного перемещения по папкам и подпапкам.

Затем вы можете прочитать каждую строку (for line in myfile: ...), выполнить замену (line = line.replace(old, new)) и сохранить строку обратно во временный файл (tmp.write(line)), а затем скопировать временный файл поверх оригинала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...