【问题标题】:fabric sed function not substituting string in python file织物sed函数不替换python文件中的字符串
【发布时间】:2014-11-07 12:15:39
【问题描述】:

我的 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 变量。 我知道问题出在字符串替换路径上,但无法弄清楚

【问题讨论】:

    标签: python sed fabric


    【解决方案1】:

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

    DOMAIN='localhost'
    

    而不是

    DOMAIN="localhost"
    

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

    【讨论】:

    • 我试图替换 django settings.py 文件中的 DEBUG 设置,所以间距并不重要
    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2012-10-09
    • 1970-01-01
    • 2020-03-13
    • 2011-10-03
    相关资源
    最近更新 更多