python 执行shell_python执行shell命令的方法
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命令的方法相关推荐
- python中command是什么意思_python中command执行shell命令脚本方法
在Python中有一个模块commands也很容易做到以上的效果. 看一下三个函数: 1). commands.getstatusoutput(cmd) 用os.popen()执行命令cmd, 然后返 ...
- java解析shell命令_Android中执行java命令的方法及java代码执行并解析shell命令
这篇文章给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习 android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析 ...
- Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法
Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of- ...
- python 调用shell命令的方法
转载: https://www.cnblogs.com/thinker-lj/p/3860123.html https://www.cnblogs.com/wenwangt/p/4897961.htm ...
- python使用shell命令_python 调用shell命令的方法
在python程序中调用shell命令,是件很酷且常用的事情-- 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出 ...
- sharpssh远程linux监控系统,利用SharpSsh远程执行linux的shell命令
利用SharpSsh远程执行linux的shell命令 (2011-07-26 14:38:02) SharpSSH是一个C#的开源项目,可以利用SSH连接linux系统.并执行shell等命令. 而 ...
- java执行windows下cmd命令的方法
本文实例讲述了java执行windows下cmd命令的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: //获取运行时 Runtime rt = Runtime.getRunti ...
- C++笔记之linux下非阻塞多线程运行多个系统shell命令(popen方法)
参考博文:C++ linux 睡眠函数sleep和std::this_thread::sleep_for 参考博文:C++笔记之linux下运行系统shell命令(popen方法)函数封装 参考博文: ...
- python 执行shell命令行效率提升_在python脚本中执行shell命令的方法
使用Python处理一个shell命令或一个执行一个shell脚本,一般情况下,有以下三种方法,以下我们来看: 第一种方法是使用os.system的方法 os.system(" cmd&qu ...
最新文章
- Await, and UI, and deadlocks! Oh my!
- 【转】【C#】判断两个文件是否相同
- onbeforeunload与onunload事件(转)
- charles 代理手机连不上网_Charles设置代理后,手机无法上网
- ASP.NET Core 2.0利用MassTransit集成RabbitMQ
- PWN-PRACTICE-BUUCTF-26
- Java的多线程以及内存模型的知识点梳理,有想到过这些吗?
- jdbc的小结 mysql
- Win7下安装Flash低版本
- 智能家居(1)行业发展分析
- win7打开或关闭windows功能 提示“出现错误,并非所有的功能被更改”,管理员权限惹的祸...
- PDF文件怎么旋转保存
- 2018年最新电子科技大学TCP/IP协议原理(杨宁)CSF视频教程42讲
- Strategy模式简述
- 谈如何用SNS做淘宝客
- 点云 ICP学习-IterativeClosestPoint
- 微信,世界上最成功的私链
- C语言课设飞机票订购系统
- 中国云计算服务网:盛大云体验报告
- 1. 帮贡排序-模拟与高精度(普及/提高-)
热门文章
- SSM整合Druid数据库连接池
- java中的v递归的思想,Java中的递归思想 - osc_9lqilnv7的个人空间 - OSCHINA - 中文开源技术交流社区...
- AVFoundation – AVAsset 加载媒体
- jq之fadeIn()
- BugkuCTF-Reverse题easy-100(LCTF)
- php如何封装数组,PHP数组转对象 对象转数组封装类
- php对象魔术方法,php学习之类与对象的魔术方法的使用
- php 数组排序 按值,php – 按值排序数组
- 斐波那契数列 青蛙跳台阶 变态跳台阶
- python可以构建sem模型_python-分组的熊猫DataFrames:如何将scipy.stats.sem应用于它们?...