python执行shell命令的方法

os模块

os.system方式:

import os

os.system('top')

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

说明

这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回。

返回值是依赖于系统的,直接返回系统的调用返回值,所以windows和linux是不一样的。

强调的一点是,不支持参数,不支持管道

os.open方式:

import os

output = os.popen('df')

print output.read() #如果命令自身无报错,则返回正确的值

说明

popen方法通过p.read()获取终端输出,而且popen需要关闭close().

当执行成功时,close()不返回任何值,失败时,close()返回系统返回值..

可见它获取返回值的方式和os.system不同

强调的一点是,不支持参数,不支持管道

commands模块

使用commands模块的getoutput方法,这种方法同popend的区别在于popen返回的是一个文件句柄,而本方法将外部程序的输出结果当作字符串返回,很多情况下用起来要更方便些。

主要方法:

commands.getstatusoutput(cmd) 返回(status, output)

commands.getoutput(cmd) 只返回输出结果

commands.getstatus(file) 返回ls -ld file的执行结果字符串,调用了getoutput,不建议使用此方法

a = commands.getoutput('ps -ef ')

b = commands.getstatusoutput('vmstat')

subprocess模块

说明

使用subprocess模块能够创建新的进程。

能够与新建进程的输入/输出/错误管道连通。

并能够获得新建进程运行的返回状态。

使用subprocess模块的目的是替代os.system()、os.popen()、commands.等旧的函数或模块。

subprocess.call(["some_command","some_argument","another_argument_or_path")

from subprocess import call

call(['ls','-l','/boot','/sys']) #

call('ls -a /',shell=True)

subprocess.Popen(command,shell=True)

subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)

参考博客

python 执行shell_python执行shell命令的方法相关推荐

  1. python中command是什么意思_python中command执行shell命令脚本方法

    在Python中有一个模块commands也很容易做到以上的效果. 看一下三个函数: 1). commands.getstatusoutput(cmd) 用os.popen()执行命令cmd, 然后返 ...

  2. java解析shell命令_Android中执行java命令的方法及java代码执行并解析shell命令

    这篇文章给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习 android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析 ...

  3. Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法

    Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of- ...

  4. python 调用shell命令的方法

    转载: https://www.cnblogs.com/thinker-lj/p/3860123.html https://www.cnblogs.com/wenwangt/p/4897961.htm ...

  5. python使用shell命令_python 调用shell命令的方法

    在python程序中调用shell命令,是件很酷且常用的事情-- 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出 ...

  6. sharpssh远程linux监控系统,利用SharpSsh远程执行linux的shell命令

    利用SharpSsh远程执行linux的shell命令 (2011-07-26 14:38:02) SharpSSH是一个C#的开源项目,可以利用SSH连接linux系统.并执行shell等命令. 而 ...

  7. java执行windows下cmd命令的方法

    本文实例讲述了java执行windows下cmd命令的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: //获取运行时 Runtime rt = Runtime.getRunti ...

  8. C++笔记之linux下非阻塞多线程运行多个系统shell命令(popen方法)

    参考博文:C++ linux 睡眠函数sleep和std::this_thread::sleep_for 参考博文:C++笔记之linux下运行系统shell命令(popen方法)函数封装 参考博文: ...

  9. python 执行shell命令行效率提升_在python脚本中执行shell命令的方法

    使用Python处理一个shell命令或一个执行一个shell脚本,一般情况下,有以下三种方法,以下我们来看: 第一种方法是使用os.system的方法 os.system(" cmd&qu ...

最新文章

  1. Await, and UI, and deadlocks! Oh my!
  2. 【转】【C#】判断两个文件是否相同
  3. onbeforeunload与onunload事件(转)
  4. charles 代理手机连不上网_Charles设置代理后,手机无法上网
  5. ASP.NET Core 2.0利用MassTransit集成RabbitMQ
  6. PWN-PRACTICE-BUUCTF-26
  7. Java的多线程以及内存模型的知识点梳理,有想到过这些吗?
  8. jdbc的小结 mysql
  9. Win7下安装Flash低版本
  10. 智能家居(1)行业发展分析
  11. win7打开或关闭windows功能 提示“出现错误,并非所有的功能被更改”,管理员权限惹的祸...
  12. PDF文件怎么旋转保存
  13. 2018年最新电子科技大学TCP/IP协议原理(杨宁)CSF视频教程42讲
  14. Strategy模式简述
  15. 谈如何用SNS做淘宝客
  16. 点云 ICP学习-IterativeClosestPoint
  17. 微信,世界上最成功的私链
  18. C语言课设飞机票订购系统
  19. 中国云计算服务网:盛大云体验报告
  20. 1. 帮贡排序-模拟与高精度(普及/提高-)

热门文章

  1. SSM整合Druid数据库连接池
  2. java中的v递归的思想,Java中的递归思想 - osc_9lqilnv7的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. AVFoundation – AVAsset 加载媒体
  4. jq之fadeIn()
  5. BugkuCTF-Reverse题easy-100(LCTF)
  6. php如何封装数组,PHP数组转对象 对象转数组封装类
  7. php对象魔术方法,php学习之类与对象的魔术方法的使用
  8. php 数组排序 按值,php – 按值排序数组
  9. 斐波那契数列 青蛙跳台阶 变态跳台阶
  10. python可以构建sem模型_python-分组的熊猫DataFrames:如何将scipy.stats.sem应用于它们?...