2

我相信必须有更智能的方法来实现这一点。在使用 Closure 缩小它之前,我需要在我的 javascript 中更改应用程序 ID。

我想出的一个“快速”解决方案是使用旧的 sed。虽然这适用于命令行,但在 python 文件中运行时会失败。它不会因错误而失败。outfile 文件是源文件的精确副本。好像还没有找到文字。

choice = raw_input("Type 1 (Staging) or 2 (Production)?")
   if choice == '1':
        cmd = r"sed 's%var appid = '1234';%var appid = '5678';%' {0}f11.js > {0}f11_final.js".format(PATH)
        os.system(cmd)

知道我缺少什么吗?谢谢

更新:

我只是从这里更改了来源:

var appid = '1';

对此:

var appid = 1;

并成功运行:

cmd = "sed -i 's%var appid = 1;%var appid = 2;%' {0}f11.js".format(PATH)

它与转义单引号有关。知道我能做什么吗?我试过\'但失败了。

解决方案:

我最终按照建议在python中完成了它。但是,如果您以前没有做过,这并不容易。所以我分享我的代码:

with open("{0}f11.js".format(PATH), "r") as sources:
    lines = sources.readlines()
with open("{0}f11-final.js".format(PATH), "w") as sources:
    for line in lines:
        sources.write(re.sub("var appid = '1';", "var appid = '2';", line))
4

1 回答 1

2

您可以使用 Python 的库re。特别是类似于 sed 的函数 sub。

于 2013-07-19T14:27:56.127 回答