fabric sed函数不能替换python文件中的字符串

时间:2014-09-13 12:19:34

标签: python sed fabric

我的fabfile.py

中有以下功能
def _update_settings(source_folder, site_name):
    settings_path = source_folder + '/superlists/settings.py'
    sed(settings_path, "DEBUG = True", "DEBUG = False")
    sed(settings_path, 'DOMAIN = "localhost"', 'DOMAIN = "%s"' % (site_name,))

运行fabfile后,将site_name设置为tdd.box.tk,我有以下输出

DEBUG=False
DOMAIN='localhost'

而不是

DEBUG=False
DOMAIN='tdd.box.tk'

DOMAIN不会更改为传递的site_name变量。 我知道问题在于字符串替换路径,但无法弄清楚

1 个答案:

答案 0 :(得分:1)

我能够找到解决方案。事实证明,在我的settings.py中我有

DOMAIN='localhost'

而不是

DOMAIN="localhost"

sed函数中的字符串必须与您要替换的文件中的字符串完全匹配。