我用subprocess模块调用不同的进程.但是,我有一个问题.
在以下代码中:
callProcess = subprocess.Popen(['ls', '-l'], shell=True)
Run Code Online (Sandbox Code Playgroud)
和
callProcess = subprocess.Popen(['ls', '-l']) # without shell
Run Code Online (Sandbox Code Playgroud)
两者都有效.阅读文档后,我开始知道这shell=True意味着通过shell执行代码.这意味着在缺席的情况下,该过程将直接启动.
那么我应该更喜欢我的情况 - 我需要运行一个进程并获得其输出.从shell内部或外部调用它有什么好处.
如何从 python 脚本安装 npm 包?
当我使用 subprocess.Popen(["node", "app.js"])它时就可以了。
当我使用 subprocess.Popen(["npm", "install", "open"])它时抛出错误。
抱歉,Google 和 DuckDuckGo 今天不是我的朋友(
主要问题- 自动本地安装需要我的小实用程序包,因为全局包在 Windows 中不起作用。
附注。我必须问这个问题,因为我正在尝试为 Sublime Text 2 开发一个插件。
这是Sublime python 控制台中的错误:
Reloading plugin …\stsync.py
Traceback (most recent call last):
File ".\sublime_plugin.py", line 103, in create_application_commands
cmds.append(class_())
File ".\stsync.py", line 16, in __init__
File ".\subprocess.py", line 633, in __init__
File ".\subprocess.py", line 842, in _execute_child
WindowsError: [Error 2]
Run Code Online (Sandbox Code Playgroud)
第 16 行: subprocess.Popen(["node", …