在 python 中 subprocess.check_call() 执行的终端命令中显示
Show in terminal commad executed by subprocess.check_call() in python
在这里提出并回答了类似的问题:How to viewthe actual command executed by "subprocess.check_call()"
我尝试了 shell=True
选项,但它显示的命令包括所有逗号和大括号。我想命令看起来干净,因为它会在终端中执行。
一个选项是使用 print()
,但是否有避免冗余的选项。我不想在我的脚本中多次编写同一段代码。 (是的,我知道,也可以将命令声明为变量,还有什么?)
我假设您将参数作为列表传递给子进程,因此打印命令通常只是对 delimiter.join(list)
.
的简单调用
params = ["my.exe", "-param1", "-param2", "value 2"]
if debug:
print("executed command: " + " ".join(params))
result = subprocess.check_call(params)
注意:这不会添加将打印的字符串复制并粘贴到 shell(如 PowerShell 或 Bash.
所需的正确引号
在这里提出并回答了类似的问题:How to viewthe actual command executed by "subprocess.check_call()"
我尝试了 shell=True
选项,但它显示的命令包括所有逗号和大括号。我想命令看起来干净,因为它会在终端中执行。
一个选项是使用 print()
,但是否有避免冗余的选项。我不想在我的脚本中多次编写同一段代码。 (是的,我知道,也可以将命令声明为变量,还有什么?)
我假设您将参数作为列表传递给子进程,因此打印命令通常只是对 delimiter.join(list)
.
params = ["my.exe", "-param1", "-param2", "value 2"]
if debug:
print("executed command: " + " ".join(params))
result = subprocess.check_call(params)
注意:这不会添加将打印的字符串复制并粘贴到 shell(如 PowerShell 或 Bash.
所需的正确引号