- 使用os.system函数调用外部程序,这里调用wget下载nginx,要等wget执行完成后,才能继续执行后面的程序
import os
cmd = r'wget http://mirrors.sohu.com/nginx/nginx-1.13.9.zip'
os.system(cmd)
print('下载完毕')
import os
version = input('请输入安装包版本:')
cmd = fr'd:\tools\wget http://mirrors.sohu.com/nginx/nginx-{version}.zip'
os.system(cmd)
print('下载完毕')
- 需求:分析当前C盘可用空间是否不足10%,如果不足,就显示空间告急
- 使用subprocess模块调用外部程序,可以不用等外部程序执行完毕,同时执行自己的程序
from subprocess import PIPE, Popen
# 返回的是 Popen 实例对象
proc = Popen(
'fsutil volume diskfree c:',
stdin = None,
stdout = PIPE,
stderr = PIPE,
shell=True)
# communicate 方法返回 输出到 标准输出 和 标准错误 的字节串内容
# 标准输出设备和 标准错误设备 当前都是本终端设备
outinfo, errinfo = proc.communicate()
# 注意返回的内容是bytes 不是 str ,我的是中文windows,所以用gbk解码
outinfo = outinfo.decode('gbk')
errinfo = errinfo.decode('gbk')
print (outinfo)
print ('-------------')
print (errinfo)
outputList = outinfo.splitlines()
# 剩余量
free = int(outputList[0].split(':')[1].replace(',','').split('(')[0].strip())
# 总空间
total = int(outputList[1].split(':')[1].replace(',','').split('(')[0].strip())
if (free/total < 0.1):
print('!! 剩余空间告急!!')
else:
print('剩余空间足够')
from subprocess import Popen
proc = Popen(
args='wget http://xxxxserver/xxxx.zip',
shell=True
)
print ('让它下载,我们接下来做其他事情。。。。')