在Python中进行多重搜索和替换

-4 投票
2 回答
849 浏览
提问于 2025-04-16 23:22

我需要在一个父文件夹里查找所有名为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()

希望这正是你想要的。

撰写回答