在python中查找和替换多个文件中的多个字符串

在python中查找和替换多个文件中的多个字符串,python,list,file,replace,directory,Python,List,File,Replace,Directory,我试图遍历目录中的一组文件,找到并替换字符串列表,然后将它们写入同一个文件。当我运行脚本时,目录中的所有文件都变成空白!我做错了什么 os.chdir("Resources/maps_sideScrolling/HD") replacements = {'tilewidth=\"16\"':'tilewidth=\"32\"', 'tileheight=\"16\"':'tileheight=\"32\"', '.png':'-hd.png'} for files in os.listdir

我试图遍历目录中的一组文件,找到并替换字符串列表,然后将它们写入同一个文件。当我运行脚本时,目录中的所有文件都变成空白!我做错了什么

os.chdir("Resources/maps_sideScrolling/HD")

replacements = {'tilewidth=\"16\"':'tilewidth=\"32\"', 'tileheight=\"16\"':'tileheight=\"32\"', '.png':'-hd.png'}

for files in os.listdir("."):
    if files.endswith("-hd.tmx"):
        fo = open(files, "rU")
        fw = open(files, "w")

        for line in fo:
            for src, target in replacements.iteritems():
                line = line.replace(src, target)
            fw.write(line)

        fo.close();
        fw.close();

如果要覆盖该文件,可以使用以下代码:

os.chdir("Resources/maps_sideScrolling/HD")
replacements = {'tilewidth=\"16\"':'tilewidth=\"32\"', 'tileheight=\"16\"':'tileheight=\"32\"', '.png':'-hd.png'}

for files in os.listdir("."):
    if files.endswith("-hd.tmx"):
        fo = open(files, "rU+")
        text = fo.read()
        for src, target in replacements.iteritems():
                text = text.replace(src, target)
        fo.seek(0)
        fo.write(text)
        fo.truncate()
        fo.close()