当前位置:主页 > python教程 > python程序调用其他程序

python程序中调用其他程序的实现

发布:2023-04-23 16:40:01 59


给网友朋友们带来一篇相关的编程文章,网友王忆敏根据主题投稿了本篇教程内容,涉及到python程序调用其他程序、python 调用其他程序、python程序调用其他程序相关内容,已被965网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

python程序调用其他程序

1.os.system函数

wget 是一个下载软件的程序,如果已经下载好该软件,可以用py调用该软件。假如该软件目录在d:\tools\wget

import os
cmd =r'd:\tools\wget http://mirrors.sohu.com/nginx/nginx-1.13.9.zip'
os.system(cmd)
 
print('安装完毕')

实际上有三个程序:

py、shell、wget

py程序在哪里就下载到那里。

缺点:1.只有调用程序执行完后才能向下运行,不能获取页面内容。

解决以上两种缺点可以使用subprocess模块。

2.subprocess模块

可以获取内容。比如获取磁盘使用情况。

subprocess中的Popen类。照着视频写了一遍,好像是权限不够,就在管理员终端运行了,但是因为视频的格式输出和我的不一样所以切割方式也不一样,经过反复调试,终于切割出来了。

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,解码,将机器码解码为字符串
outinfo =outinfo.decode('gbk')
errinfo =errinfo.decode('gbk')
print(outinfo)
print('------------')
 
print(errinfo)
 
#结果分行输出
outputList=outinfo.splitlines()
print(outputList)
#剩余量
#第0(1)行,split用于切片,replace用于重写,strip()用于将字符串的首尾中空格删除
free=int(outputList[0].split(':')[1].replace(',',"").strip().split(' ')[0])
 
#总空间
total=int(outputList[1].split(':')[1].replace(',',"").strip().split(' ')[0])
 
print('使用百分比:{:.2%}'.format(free/total))
if(free/total<0.1):
    print('!!剩余空间告急!!!')
 
else:
    print('剩余空间足够')

终于写完了。。。。。。。。。。。

subprocess可以同实进行下边的任务。

from subprocess import Popen
proc=Popen(
        args='wget  http://mirrors.sohu.com/nginx/nginx-1.13.9.zip',
        shell=True
    )
 
print('让他下载,我们先作其他的的事情')

到此这篇关于python程序中调用其他程序的实现的文章就介绍到这了,更多相关python程序调用其他程序内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!


参考资料

相关文章

网友讨论