专栏首页python3Python--command模块

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语言的巧妙之处。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从 Spark 的数据结构演进说开

    搞大数据的都知道 Spark,照例,我不会讲怎么用,也不打算讲怎么优化,而是想从 Spark 的核心数据结构的演进,来看看其中的一些设计和考虑,有什么是值得我们...

    Lenis
  • openpyxl-读写Excel文件的Python库

    写脚本的时候,想要用Python读取Excel文件内容,谷歌搜索发现了openpyxl这个包,学习后发现简单地读写Excel文件还是比较方便的,库的设计也很简洁...

    王云峰
  • 你不应该知道的知识之如何在Ubuntu 16.04上安装Pip2

    虽然2020年官方就不支持Python2系列了,不过有时你还是会用到Python2,这时候为了安装某个包(如numpy),你需要pip2。而pip2一般比较新的...

    王云峰
  • Comet OJ - Contest \#11 eon题解

    「这次练习用的数也太大了吧,我怎么记得住。」线段树小声嘀咕着,「我用所有的手指也只能数到 10231023 。」

    YINUXY
  • PyQt5 代码片段集合

    PyQt5是Qt的Python绑定库,既有Qt的强大,又有Python语言的简洁,要实现一个实际场景的GUI程序的时候,确实非常实用而且代码量不是太多。这里我总...

    王云峰
  • 你不应该知道的知识之如何安装老版本的Python

    由于某些奇怪的原因(如项目中要用某个用Python3.4编译的库),你可能需要安装官方停止支持的Python版本(如Python2.5, Python2.6, ...

    王云峰
  • 关闭Caffe和TensorFlow运行时的日志输出

    或者在python文件中,import caffe或tensorflow之前,执行如下的语句:

    王云峰
  • Ubuntu上安装Python3.7

    在有些情况下,如安装某个比较Cool的工具的时候,需要用到Python3.6+。这时候,可以选择从Python官网下载源代码,然后编译。不过编译可能会因为各种各...

    王云峰
  • 以往的Python文章总结

    笔记;因为Python不像C语言那样的强结构语言,所以我学完C就开始学Python,脑袋嗡嗡的,不过还好,它的赋值很不一般,像C语言第一条应该是先申请一个变量然...

    天钧
  • 在ubuntu中进行core dump调试

    在Linux环境下执行程序的时候,有的时候会出现段错误(‘segment fault’),同时显示core dumped,就像下面这样:

    王云峰

扫码关注云+社区

领取腾讯云代金券