簡體   English   中英

從 python 運行順序命令行參數並檢索輸出

[英]Running sequential command line arguments from python and retrieving output

我已經把頭撞在牆上足夠長的時間了,在這里認輸。 我正在嘗試使用 Python(特別是 3.8.2)與具有丑陋命令行界面的工具進行交互。 我有以下命令,它有效。 但是,我一直在閱讀,似乎這是一種已棄用的方法,他們建議現在使用subprocess.run 我一直在嘗試轉換我的代碼並且遇到了很多麻煩,所以希望能找到一些幫助。 下面的代碼,連同解釋。

os.system(rf'cmd /k "{ExecDrive}: & cd {ExecDirectory} & {command}"')

第一部分是將驅動器號和目錄更改為存儲可執行程序的位置。 鑒於用戶可以從任何位置運行它,我必須確保它們在下面的 f 字符串中運行命令之前位於正確的目錄中(本質上是targetApp.exe -Arg1 Val1 -Arg2 Val2等)。

其次,我需要捕獲輸出,以便我可以解析它以獲取一些消息。 如果我能讓第一部分工作,我想我可以自己解決這個部分,但如果你是subprocess.run pro,任何幫助將不勝感激!

我實際上能夠使用cwd命令來完成我所需要的。 新代碼如下。 subprocess.run(command, cwd=rf"{ExecDrive}:{ExecDirectory}", shell=True)

subprocess.check_output(args)

用於捕獲輸出。

參考: https : //docs.python.org/3/library/subprocess.html#subprocess.check_output

暫無
暫無

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

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