从 python 脚本启动节点应用程序
start node app from python script
os是否可以从 raspberry pi 上的 python 脚本中启动 node.js 应用程序?
在命令行我运行sudo node myscript.js
我可以使用像 os 这样的库吗?
正如 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
参数时要非常小心,因为如果您允许将任意用户输入传递给 subprocess.call()
,这可能会成为一个问题。
文件的第一行应为:
#!/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,您可以在那里找到很多使用完整信息。
os是否可以从 raspberry pi 上的 python 脚本中启动 node.js 应用程序?
在命令行我运行sudo node myscript.js
我可以使用像 os 这样的库吗?
正如 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
参数时要非常小心,因为如果您允许将任意用户输入传递给 subprocess.call()
,这可能会成为一个问题。
文件的第一行应为:
#!/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,您可以在那里找到很多使用完整信息。