遍历修改django bootstrap form 为 django bootstrap3

#!/usr/bin/env python
# encoding: utf-8

import re
import os

fname = ''

bt_pattern = re.compile(r'{% load bootstrap .*')
field_pattern = re.compile(r'(\s*){{\s*(form\.\w+)\|\s*bootstrap_horizontal\s*}} *')


def bs2bs3(fn):
    with open(fn) as f:
        content = f.read()

    content = bt_pattern.sub(r'{% load bootstrap3 %}', content)
    content = field_pattern.sub(r'\1{% bootstrap_field \2 layout="horizontal" %}', content)

    with open(fn, 'w') as f:
        f.write(content)


def walk_dir(dirname):
    for root, dirs, files in os.walk(dirname, topdown=False):
        for name in files:
            fname = os.path.join(root, name)
            bs2bs3(fname)