簡體   English   中英

從python獲取命令的終端輸出

[英]Getting terminal output of a command from python

我試圖編寫一個包含bash命令的函數。 我想將命令的輸出分配給我的python中的變量,我的意思是,函數gitCheck找到我的git Repository的目錄並將其分配給gitRep,但它只給我0。有人知道我該怎么做嗎? 提前致謝

def gitCheck():
reference_repositories_path="cat $HOME/.git_reference_repositories | sed 's/GIT_REFERENCES_PATH=//'"
gitRep=os.system(reference_repositories_path)
print gitRep

輸出應該是/home/gwapps/Desktop/GIT_REFERENCE_REPOSITORIES但它給我0

您正在獲得退出狀態。 根據os.system() docs

在Unix上,返回值是以為wait()指定的格式編碼的進程的退出狀態。

...

子流程模塊提供了更強大的功能來生成新流程並檢索其結果。 使用該模塊優於使用此功能。

因此,如果要檢索命令的輸出,請使用subprocess模塊。 SO上有大量示例,例如:

暫無
暫無

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

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