在Python中运行多个查找和替换(在文件夹和子文件夹中的每个文件上)

时间:2012-12-14 20:05:13

标签: python

我有一个包含子文件夹和随机数量文件的文件夹(课程)。我想运行多个搜索并替换这些随机文件。是否可以对.html进行通配符搜索并在每个html文件上运行替换?

搜索并替换:

  • 1)"</b>""</strong>"
  • 2)"</a>""</h>"
  • 3)"<p>""</p>"
  • 此外,所有这些替换都必须在文件夹和子文件夹中的每个文件上运行。

    非常感谢

  • 2 个答案:

    答案 0 :(得分:3)

    试试这个,

    import os
    from os.path import walk
    
    mydict = {"</b>":"</strong>", "</a>":"</h>", "<p>":"</p>"}
    
    for (path, dirs, files) in os.walk('./'):
        for f in files:
            if f.endswith('.html'):
                filepath = os.path.join(path,f)
                s = open(filepath).read()
                for k, v in mydict.iteritems():
                    s = s.replace(k, v)
                f = open(filepath, 'w')
                f.write(s)
                f.close()
    

    您可以将os.walk('./')更改为os.walk('/anyFolder/')

    答案 1 :(得分:0)

    使用glob模块获取*.html个文件列表。