展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

调用外部程序

  • 使用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('剩余空间足够')
  • 案例2
from subprocess import Popen
proc = Popen(
        args='wget http://xxxxserver/xxxx.zip',
        shell=True
    )

print ('让它下载,我们接下来做其他事情。。。。')
posted @ 2023-10-07 23:35  DogLeftover  阅读(7)  评论(0编辑  收藏  举报