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()