Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在python中使用sed?_Javascript_Python_Sed - Fatal编程技术网

Javascript 如何在python中使用sed?

Javascript 如何在python中使用sed?,javascript,python,sed,Javascript,Python,Sed,我相信一定有更明智的方法来实现这一点。在使用闭包缩小应用程序之前,我需要更改javascript中的应用程序id 我想出的一个“快速”解决方案是使用好的旧sed。虽然这可以在命令行上运行,但在python文件中运行时失败。它不会因为错误而失败。outfile文件是源文件的精确副本。好像它还没有找到文本 choice = raw_input("Type 1 (Staging) or 2 (Production)?") if choice == '1': cmd = r"sed

我相信一定有更明智的方法来实现这一点。在使用闭包缩小应用程序之前,我需要更改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))

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

是否应该转义正则表达式中的
?是否确定?这适用于me-os.system(r“echo”var-appid=1234;“| sed”s%var-appid='1234';%var-appid='5678';%”),如果我这样转义它,它会抛出
sh:1:语法错误:未终止的引号字符串
:“sed的%var appid=\'1234\';%变量appid=\'5678\';%'@user1827356你试过了吗?它是一个文件?我只是在没有luckWorks的情况下验证了几次,在Python 2.7.1和GNU bash版本3.2.25(1)中效果良好