我正在尝试创建一个Python脚本,然后运行shell脚本"js2coffee"将一些javascript转换为coffeescript.
从命令行我可以运行它,并再次获得coffeescript ...
echo "var myNumber = 100;" | js2coffee
我需要做的是使用Python中的相同模式.
在Python中,我来到这样的事情:
command = "echo '" + myJavscript + "' | js2coffee"
result = os.popen(command).read()
Run Code Online (Sandbox Code Playgroud)
这有时会起作用,但是有些问题与特殊字符(我认为大多数是引号)没有被正确转义myJavascript.必须有一种标准的方法来做到这一点.有任何想法吗?谢谢!
使用进程的输入流来为其提供数据,这样就可以避免使用shell,而无需转义javascript.此外,您不容易遭受shell注入攻击;
pr = subprocess.Popen(['js2coffee'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE)
result, stderrdata = pr.communicate('var myNumber = 100;')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1082 次 |
| 最近记录: |