2017-03-02 18 views
0

使用子進程或os庫時,執行該命令會在終端中返回結果。我希望能夠將輸出分配給變量,而不會將任何輸出返回給終端。如何在沒有獲得輸出到終端的情況下運行os命令?

pid = subprocess.call(['pidof', process]) 

pid = os.system('pidof ' + process) 

我只想分配變量pid,而不是返回文本到終端。我之前使用'命令'庫,但它不被python3支持。

+0

的可能的複製[Python的:如何通過進程名獲得PID(http://stackoverflow.com/questions/26688936/python-how-to-get-pid-by-process-name) –

回答

0

您是否嘗試將命令輸出重定向到DEVNULL?

FNULL = open(os.devnull, 'w') 
retcode = subprocess.call(['pidof', process], stdout=FNULL, stderr=subprocess.STDOUT) 
0

您可以嘗試check_output。

import subprocess 
output = subprocess.check_output("COMMAND_TO_EXECUTE", shell=True) 
相關問題