python 外部命令執行–OS
- 2020 年 1 月 8 日
- 筆記
Python 也可以通過os、subprocess執行外部shell命令對POSIX類型系統進行操作。
os 一個很強大的命令,可以通過os下的一些方法去執行shell命令,並且可以對對象執行完的標準輸出、標準輸入和標準錯誤輸出進行操作。
1.os.system
""""
#!/usr/bin/env python #-*- coding:utf-8 -*- """os.system()方法沒有標準輸出、標準輸入和標準錯誤輸出""" import os def posix(): os.system('ifconfig') if __name__ == "__main__": posix()
2.os.popen()、os.popen2()、os.popen3
#!/usr/bin/env python #-*- coding:utf-8 -*- import os """ os.popen() #標準輸出 os.popen2() #標準輸入和標準輸出 os.popen3() #標準輸入、標準輸出和標準錯誤輸出 """ def posixOpen(): stdout = os.popen('ifconfig') data = stdout.read() return data def posixPopen2(): stdin, stdout = os.popen2('sort') stdin.write('an') #插入數據 stdin.write('bn') stdin.write('gn') stdin.write('cn') stdin.close() data = stdout.read() #標準輸出 return data def posixPopen3(): stdin, stdout, stderr = os.popen3('df -q') #輸入一個錯誤命令 data = stderr.read() return data def main(): posixOpen() posixOpen2() posixOpen3() if __name__ == "__main__": main()