1. 程式人生 > >Python 調用外部命令:os 模塊

Python 調用外部命令:os 模塊

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 模塊