在python中,我可以使用os或subprocess運行一些系統命令。問題是我無法以字符串形式獲取輸出。例如:在Python中,獲取系統命令的輸出作爲字符串
>>> tmp = os.system("ls")
file1 file2
>>> tmp
0
我有子的舊版本不具備的功能CHECK_OUT,我寧願不要求更新模塊解決方案,因爲我的代碼將在一臺服務器上運行我沒有完整的管理權限。
這個問題似乎微不足道,但我無法找到一個平凡解
在python中,我可以使用os或subprocess運行一些系統命令。問題是我無法以字符串形式獲取輸出。例如:在Python中,獲取系統命令的輸出作爲字符串
>>> tmp = os.system("ls")
file1 file2
>>> tmp
0
我有子的舊版本不具備的功能CHECK_OUT,我寧願不要求更新模塊解決方案,因爲我的代碼將在一臺服務器上運行我沒有完整的管理權限。
這個問題似乎微不足道,但我無法找到一個平凡解
使用os.popen()
:
tmp = os.popen("ls").read()
較新的方式(> 2.6蟒)要做到這一點是使用subprocess
:
proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
tmp = proc.stdout.read()
你需要'popen' PIPE,系統可能會返回進程終止狀態 –
@GrijeshChauhan我也試過,但無法使其工作。你能舉一個例子嗎? – S4M
Python版本是什麼? – codeape