Python--command模块
command模块只使用与linux的shell模式下
在我们平时码字时,经常需要调用系统脚本或者系统命令来解决很多问题,接下来我们就介绍给大家一个很好用的模块command,可以通过python调用系统命令,调用系统命令command模块提供了三种方法:cmd代表系统命令
1.commands.getoutput(cmd)只返回执行shell命令的结果:
举个例子:
[root@localhost ~]# cat a.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import commands
cmd = 'ls /home/admin'
a = commands.getoutput(cmd)
print(type(a))
print(a)
结果:
[root@localhost ~]# python a.py
<type 'str'>
nginx.conf
nginx_upstream_check_module-master.zip
test.py
commands是提供linux系统环境下支持使用shell命令的一个模块,在企业中,我们很多的脚本和环境都是在linux系统中跑起来的,
2.commands.getstatusoutput(cmd)
在上面我们在执行shell命令的时候,我们的shell命令可能执行报错,或者异常退出,我们就要有一个条件来判断shell最终执行的结果是什么,commands.getstatusoutput(cmd)的返回结果有两个值,
[root@localhost ~]# cat c.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import commands
cmd = 'ls /home/admin'
c = commands.getstatusoutput(cmd)
print(type(c))
status, output =commands.getstatusoutput(cmd)
print(status)
print(output)
print(type(output))
结果:
[root@localhost ~]# python c.py
<type 'tuple'>
0
nginx.conf
nginx_upstream_check_module-master.zip
test.py
<type 'str'>
解释:
Commands.getstatusoutput(cmd)的返回结果是一个tuple,第一个值是shell执行的结果,如果shell执行成功,返回0,否则,为非0,第二个是一个字符串,就是我们shell命令的执行结果,python通过一一对应的方式复制给status和output,这个就是python语言的额巧妙之处。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341