栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中调用shell命令

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中调用shell命令

1.os.system(cmd)

import os

## os.system()调用shell命令
var = os.system('df -h')

>>> var = os.system('df -h')
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   13G  8.8G  3.9G  70% /
devtmpfs                 908M     0  908M   0% /dev
tmpfs                    920M     0  920M   0% /dev/shm
tmpfs                    920M   44M  877M   5% /run
tmpfs                    920M     0  920M   0% /sys/fs/cgroup
/dev/sda1               1014M  146M  869M  15% /boot
tmpfs                    184M     0  184M   0% /run/user/0

2.使用commands模块

commands.getstatusoutput(cmd):以字符串的形式返回输出结果和转态码,(status,output)commands.getoutput(cmd):返回cmd的输出结果

>>> import commands
>>> (status,output) = commands.getstatusoutput("ls -a")
>>> print(status)
0
>>> print(output)
.
..
aa.txt
bb.txt

3.使用subprocess模块

1)功能说明

允许创建很多子进程,创建的时候能指定进程和子进程的输入、输出、错误输出管道,执行后能获取输出结果和执行转态subprocess.run():等待命令执行完成后返回一个包含执行结果的CompletedProcess类的实例,适用于3.5及以上版本subprocess.call():执行指定的命令,返回命令执行状态,功能类似os.system(cmd)subprocess.check_call():执行指定的命令,如果执行成功返回状态码,否则抛出异常

2)函数使用语法

subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, universal_newlines=False)subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False, timeout=None)subprocess.check_call(args, *, stdin=None, stdout=None, stderr=None, shell=False, timeout=None) 参数说明

args:shell执行的命令check:是否异常检查,如果为True则执行命令的进程一非0状态退出,则会抛出一个CalledProcessError的异常信息shell:若为Ture,执行指定的shell命令stdout,stderr,input:该参数是传递给Popen.communicate(),通常改参数的值必须是一个字节序列,如果universal_newlines为True,则其值应该是一个字符串。

>>> import subprocess
>>> subprocess.run("ipconfig",shell=True)

...
...

CompletedProcess(args='ipconfig', returncode=0)
>>> import subprocess

>>> subprocess.call("ls -a",shell=True)
.  ..  aa.txt  bb.txt # shell输出结果
0	# status

参考文档:https://www.cnblogs.com/pengpp/p/9833349.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753370.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号