Python 調用外部命令:os 模塊
阿新 • • 發佈:2017-10-30
hello 通過 access 結果 pre oss direct 對象 ros
註:以下使用 os 模塊來調用外部命令,但已經不建議使用該模塊,通常我們都是用 subpross 模塊
os.system() :命令的結果輸出在終端上,捕獲不到
In [1]: import os In [2]: os.system(‘ls /tmp/‘) 12.txt 1.txt 2.txt 3.txt test1 test2 # 這裏的結果輸出到終端 Out[2]: 0 # 這裏返回命令執行後的狀態碼
os.popen() :返回1個對象,即標準輸出
In [4]: out= os.popen(‘ls /tmp/‘) # 通過變量來接收標準輸出 In [5]: out.read() # 可以用read()、readline()、readlines()等方法查看 Out[5]: ‘12.txt\n1.txt\n2.txt\n3.txt\ntest1\ntest2\n‘
os.popen2() :返回2個對象,分別是標準輸入、標準輸出
In [3]: stdin, stdout = os.popen2(‘ls /tmp/‘) # 我們用 stdin 來接收標準輸入,用 stdout 來接收標準輸出 In [4]: stdout.read() # 可以通過 read() 方法來查看標準輸出Out[4]: ‘12.txt\n1.txt\n2.txt\n3.txt\ntest1\ntest2\n‘ In [5]: stdin.write(‘hello‘) # 也可以用 write() 方法來寫入到標準輸入 In [6]: stdin.close() # close()之後才能保存寫入的內容
os.popen3() :返回3個對象,分別是標準輸入、標準輸出、標準錯誤輸出
In [7]: stdin, stdout, stderr = os.popen3(‘ls /tmp/aaa‘) In [9]: stderr.read() # 查看標準錯誤輸出 Out[9]: ‘ls: cannot access /tmp/aaa: No such file or directory\n‘
Python 調用外部命令:os 模塊