从python脚本启动节点应用程序
是否有可能在一个覆盆子pi的Python脚本内启动一个node.js应用程序?
在命令行我运行sudo node myscript.js
我可以使用类似os的库吗?
第一行文件是:
#!/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
注意:结帐树莓派堆栈交换 ,你可以find很多使用完整的信息那里。
正如Selcuk在他的评论中提到的那样,使用subprocess
模块:
#! /usr/bin/env python import subprocess subprocess.call('sudo node myscript.js')
尝试使用sudo
运行命令时很可能会遇到FileNotFoundError
。 如果你这样做,你可以尝试:
#! /usr/bin/env python import subprocess subprocess.call('sudo node myscript.js', shell=True)
根据Python文档,使用shell=True
参数非常小心,因为如果允许任何用户input传递给subprocess.call()
,这可能是一个问题。