我相信必须有更智能的方法来实现这一点。在使用 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))