展开
拓展 关闭
订阅号推广码
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 @   DogLeftover  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2022-10-07 整合springboot
2022-10-07 快速失败、非bean入参校验
2022-10-07 分组校验、级联校验、自定义验证规则
点击右上角即可分享
微信分享提示