簡體   English   中英

顯示在由python中的subprocess.check_call()執行的終端命令中

[英]Show in terminal commad executed by subprocess.check_call() in python

在這里已經提出並回答了類似的問題: 如何查看“ 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)

注意:這不會添加將打印的字符串復制粘貼到PowerShell或Bash這樣的shell中所需的適當的引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM