专栏首页python3python 之 shell命令执行

python 之 shell命令执行

python中有几种常用的执行shell命令的模块

1,os.system()

2, os.popen()

3,pexpect.run()

下面介绍3个模块的差别

1,os.system()

 直接执行

>>> os.system('ls /tmp')

hsperfdata_root scim-panel-socket:0-root

0

可以看到这里多出了1个0., 这里的0 并不是文件,上面2个才是文件, 0 表示执行状态,0 为执行成功,  非0 表示执行失败

所以这这种执行方式,是不能获取执行命令后的输出结果的,只能做一些无返回执行的操作

2,os.popen

执行

>>> os.popen('ls /tmp')

<open file 'ls /tmp', mode 'r' at 0x2b64d90aa990>

>>> a=os.popen('ls /tmp')

>>> print a

<open file 'ls /tmp', mode 'r' at 0x2b64d90aa918>

可以看出来输入的是一个链接地址

要看到执行的结果,需要

>>> a=os.popen('ls /tmp')

>>> print a.read()

hsperfdata_root

scim-panel-socket:0-root

这个,是可以获取到执行后的输入结构的,但是无法判断是否执行成功

3,pexpect.run

执行

>>> (output,status)=pexpect.run('ls /tmp',withexitstatus=1)

>>> print output

hsperfdata_root scim-panel-socket:0-root

>>> print status

0

可以看到,这里可以获得输出接口,也可以判断命令是否执行成功

0表示执行成功,非0 表示执行失败

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql 3.x拿webshell

    mysql> Create TABLE demo (sanr text NOT NULL);

    py3study
  • python 2.6.6安装MySQL-

    [root@localhost opt]#wget http://pypi.python.org/packages/source/s/setuptools/se...

    py3study
  • Python中threading的joi

    python的进程和线程经常用到,之前一直不明白threading的join和setDaemon的区别和用法,今天特地研究了一下。multiprocessing...

    py3study
  • linux下安装mysql

    这是自己踩过的坑,记录一下,翻了一天博客,csdn等等,最后在网上看到了一个十分简单的安装过程。 安装 # yum -y install http://dev....

    dalaoyang
  • linux下mysql忘记密码

    今天在服务器安装mysql之后,登录发现密码错误,但是我没有设置密码呀,最后百度之后得知,mysql在5.7版本之后会自动创建一个初始密码。 报错如下:

    kirin
  • 013 windows10 mysql的安装

    Access denied for user 'root'@'localhost' (using password:YES) 解决方案 问题的解决

    上善若水.夏
  • 0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22

    在安装CDH集群时,可能会选择不同外部数据库作为集群的元数据库,具体可以参考《CDH安装前置准备》。在这里选择MySQL作为集群的元数据库,MySQL有两种安装...

    Fayson
  • Python数据库操作 DML操作-数据的增删改#学习猿地

    > 格式: insert into 表名[(字段列表)] values(值列表...);

    学习猿地
  • Python数据库操作 DML操作-数据的增删改#学习猿地

    > 格式: insert into 表名[(字段列表)] values(值列表...);

    学习猿地
  • asyncTool解决任意的多线程并行、串行、阻塞、依赖、回调的框架

    该框架目前正在 京东 App 后台 接受苛刻、高并发、海量用户等复杂场景业务的检验测试,随时会根据实际情况发布更新和 bugFix。

    猿天地

扫码关注云+社区

领取腾讯云代金券