在Python中进行多重搜索和替换
我需要在一个父文件夹里查找所有名为config.xml的文件,并在这些文件中把一个字符串替换成另一个字符串。具体来说,就是把“this-is”替换成“where-as”。
2 个回答
0
你可以看看 os.walk()
这个函数,它可以帮助你递归地遍历一个文件夹及其子文件夹。
接下来,你可以逐行读取文件(for line in myfile: ...
),然后进行替换(line = line.replace(old, new)
),把替换后的内容写入一个临时文件(tmp.write(line)
),最后再把这个临时文件复制回原来的文件。
1
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()
希望这正是你想要的。