Python 执行 shell 命令

最近有个需求就是页面上执行shell命令,第一想到的就是os.system

os.system('cat /proc/cpuinfo')

但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。

尝试第二种方案 os.popen()output = os.popen('cat /proc/cpuinfo')

print output.read()

通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。但是无法读取程序执行的返回值)

尝试第三种方案 commands.getstatusoutput() 一个方法就可以获得到返回值和输出,非常好用。(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')

print status, output

Python Document 中给的一个例子,

>>> import commands

>>> commands.getstatusoutput('ls /bin/ls')

(0, '/bin/ls')

>>> commands.getstatusoutput('cat /bin/junk')

(256, 'cat: /bin/junk: No such file or directory')

>>> commands.getstatusoutput('/bin/junk')

(256, 'sh: /bin/junk: not found')

>>> commands.getoutput('ls /bin/ls')

'/bin/ls'

>>> commands.getstatus('/bin/ls')

'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'

使用 paramiko 连接ssh 远程主机 执行 shell 命令

import paramiko

if __name__ == '__main__':

ip = '172.28.11.132'

port = 22

user_name = "root"

user_password = r'123456'

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(ip, port, user_name, user_password)

cmd = 'ls /'

stdin, stdout, stderr = ssh.exec_command(cmd)

print stdout.readlines()

python中执行shell命令_python中执行shell命令的几个方法小结-阿里云开发者社区相关推荐

  1. python高手之路第三版_《Python高手之路(第3版)》——1.3 版本编号-阿里云开发者社区...

    本节书摘来自异步社区<Python高手之路(第3版)>一书中的第1章,第1.3节,作者[法]Julien Danjou,王飞龙 译,更多章节内容可以访问云栖社区"异步社区&quo ...

  2. ssm mysql 插入date 数据_SSM中插入数据没有报错,但是数据库没有值?报错-问答-阿里云开发者社区-阿里云...

    mybatis默认开启事务不会自动提交,只有调用了commit才会提交事务.你这种情况明显是事务成功执行了,而且自增ID也已生效,但事务本身没有提交,请调用mybatis的commit方法提交事务! ...

  3. python部署到服务器上解析不到模块_python socket模块放到服务器上就跑不了了 -问答-阿里云开发者社区-阿里云...

    话不多说直接放代码: 先说一下,下面出现的101.133.229.251是我服务器IP 客户端: import socket s = socket.socket(socket.AF_INET,sock ...

  4. python聊天小程序支持私聊和多人_Python实现多人在线匿名聊天的小程序-阿里云开发者社区...

    最近看到好多设计类网站,都提供了多人在线匿名聊天的小功能,感觉很有意思,于是基于python的django框架自己写了一个,支持手动实时更名,最下方提供了完整的源码. 在线聊天地址(无需登录,开一个窗 ...

  5. python标准库有pickle_Python标准库05 存储对象 (pickle包,cPickle包)-阿里云开发者社区...

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在之前对Python对象的介绍中 (面向对象的基本概念,面向对象的进一步拓展),我 ...

  6. freebsd mysql 安装_Freebsd中mysql安装及使用笔记-阿里云开发者社区

    Freebsd中mysql安装及使用笔记 x3d 2009-07-31 662浏览量 简介: 1.安装 一开始连mysql的软件包在freebsd中叫什么都不知道: 依稀属于databases类,先到 ...

  7. mysql join 索引 无效_ORACLE MYSQL中join 字段类型不同索引失效的情况-阿里云开发者社区...

    ORACLE MYSQL中join 字段类型不同索引失效的情况 重庆八怪 2016-12-29 780浏览量 简介: 关于JOIN使用不同类型的字段类型,数据库可能进行隐士转换,MYSQL ORACL ...

  8. mysql double 存储_关于MYSQL中FLOAT和DOUBLE类型的存储-阿里云开发者社区

    关于MYSQL中FLOAT和DOUBLE类型的存储 重庆八怪 2016-04-12 844浏览量 简介: 关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方 ...

  9. python中shutil模块_python文件、文件夹、压缩包处理模块-shutil模块-阿里云开发者社区...

    shutil模块 高级的文件.文件夹.压缩包 处理模块 本节内容基本在linux下python交互环境实现 复制移动文件.文件夹 将文件内容拷贝到另一个文件中,可以部分内容 格式如下: ``` shu ...

最新文章

  1. jop怎么读音英语怎么说_“秀恩爱”英语怎么说?可不是“show love”
  2. 运维企业专题(5)LVS高可用与负载均衡中篇——VS/DR模式配置详解
  3. C#中协变和逆变的基本概念、List和List.Select方法的命名空间
  4. c#中的模态对话框和非模态对话框
  5. 如何为你的 Github 博客添砖加瓦
  6. 【数据结构】B树的理解
  7. BJOI 2012 求和
  8. python之torchlight使用_python游戏编程之pgzero使用介绍
  9. JAVA入门级教学之(super关键字)
  10. pcb设计单点接地示意图_4种PCB设计中的接地方式解析
  11. php抛出和捕获异常,关于php:捕获和重新抛出异常的最佳实践是什么?
  12. android Binder机制(一)架构设计
  13. Gb28181之Ps流解析H264
  14. 快播创始人微博晒出团队合照
  15. 计算机网络实验 网络命令的使用,计算机网络常用网络命令 实验报告.doc
  16. 2020年终总结与展望
  17. 计算机主机域名是,主机域名究竟是什么
  18. iOS storyBoard 和 纯代码 实现 九宫格 切图
  19. [含lw+源码等]微信小程序点餐|外卖|餐饮系统+后台管理系统[包运行成功]
  20. 运营精益创业组织的柔术

热门文章

  1. TypeScript 令我苦不堪言
  2. 微信Mac版更新:在电脑上刷朋友圈;领英暂停中国境内新用户注册;Git 恶意仓库可以在克隆时执行远程代码 | 极客头条...
  3. 拼多多开除即将拿到股票的安全大佬;虾米音乐将永久关停;GitHub 解禁伊朗开发者使用权
  4. 求求了!让 Python 的热搜消失吧!!
  5. 一个 Accept-Encoding 引发的 requests 爬虫乱码问题
  6. 我发现了个 Python 黑魔法,执行任意代码都会自动念上一段「平安经」
  7. 苹果:App Store中国区无版号游戏8月1日起下架;美国计划打造量子互联网;HHVM 4.67 发布 | 极客头条...
  8. 自学编程的 6 个误区 【原力计划-打卡挑战】第一周榜单揭晓
  9. 阿里文娱测试实战:机器学习+基于热度链路推荐的引流,让对比测试更精准
  10. 爱荷华大选 App 投票酿闹剧的反思:为什么我们在软件工程方面如此糟糕?