1. 阻塞性调用,不需要执行命令得到的返回结果,可以用 os.system
2. 阻塞性调用,需要执行命令得到的返回结果,可以用subprocess库里面的check_output
3.非阻塞性调用,需要执行命令得到的返回结果,可以用subprocess库里的Popen类
os库里的system函数,等于打开操作系统的shell,敲入一串命令。这是一种阻塞性调用。eg:
import os
os.system('mspaint') #打开画图工具
print('after call') #等待画图工具关闭后,才会执行这句。
组装参数,工具软件命令行运行参数,组装出相应的参数。 os.system(r'mspaint d:\1.jpg')
返回值
有些程序退出后会有一个退出码
表示程序是否正确实现了其功能
liunx的命令 比如ls;echo $? #正确
Python在用这些程序时,退出码作为返回值返回
windows: 如果是cmd.exe, 返回值就是进程的退出码
import os
ret = os.system('dir')
print(ret) #返回最后一个0
ret = os.system(dir sdfsf)
print(ret1) #返回最后一个是1
So,可以通过返回值来判断命令是否执行成功
import os
ret = os.system('cp /opt/file1 /home/file1')
if ret &