从python脚本启动节点应用程序

时间:2016-03-04 05:35:10

标签: python node.js raspberry-pi2

是否可以从覆盆子pi上的python脚本中启动node.js应用程序?

在命令行上,我运行sudo node myscript.js

我可以使用像os这样的库吗?

2 个答案:

答案 0 :(得分:8)

第一行文件应为:

#!/usr/bin/python

您可以使用subprocess.call调用命令:

from subprocess import call

# Note that you have to specify path to script
call(["node", "path_to_script.js"]) 

然后,您必须为文件设置+x权限才能执行:

chmod +x filename.py

知道你准备好了:

./filename.py 

注意:结帐Raspberry Pi Stack Exchange,您可以在那里找到很多使用完整信息。

答案 1 :(得分:3)

正如塞尔丘克在评论中提到的那样,使用subprocess模块:

#! /usr/bin/env python
import subprocess

subprocess.call('sudo node myscript.js')

尝试使用FileNotFoundError运行命令时,您很可能会遇到sudo。如果你这样做,你可以尝试:

#! /usr/bin/env python
import subprocess

subprocess.call('sudo node myscript.js', shell=True)

根据Python文档,使用shell=True参数要非常小心,因为如果允许将任意用户输入传递给subprocess.call(),这可能会成为一个问题。