【问题标题】:Finding and replacing multiple strings in multiple files in python在python中查找和替换多个文件中的多个字符串
【发布时间】:2014-03-01 05:14:56
【问题描述】:

我正在尝试浏览目录中的一堆文件并查找和替换字符串列表并将它们写入同一个文件。当我运行脚本时,目录中的所有文件都变成空白!我在这里做错了什么?

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();

【问题讨论】:

    标签: python list file replace directory


    【解决方案1】:

    如果你想覆盖文件,你可以使用下面的代码:

    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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      • 2019-01-07
      • 2013-03-05
      • 2013-11-28
      • 1970-01-01
      相关资源
      最近更新 更多