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)

参考博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下c语言读取roed文件,如何在Linux系统上安装Android4.4.docx

Android (x86)项目致力于移植 Android系统到X86处理器上,使用户可以更容易的在任何电脑上安装Android。他们通过使用android源码,增加补丁来使 Android能够在X86处理器,笔记本电脑和平板 电脑下工作。前一段时间,项目组发布了最新…

微信小程序setinterval_简单谈谈setTimeout与setInterval

感谢踩过的坑sf社区的第一篇文章。最近在做一个拍卖的微信小程序,用到了定时器setTimout和setInterval,简单谈谈这两个api。setTimeout最常见的用法就是第二种(第三种mdn文档不推荐),如:var timeoutId setTimeout(function() {console.log(hello world!…

python 注释一段话_Python快速入门(一)

引言Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。这个快速入门系列分为六篇,包含了Python大部分基础知识,每篇阅…

linux ibus获取窗体位置,Ubuntu 12.04 显示ibus 的输入框

在虚拟机中安装了Ubuntu 12.04,系统是英文版本的,我能接受,但是苦于没有中文输入法。起先,我是安装SCIM,结果我折腾了半天,发现其只能在lib-office下使用。firefox,文字编辑器中都不能调出SCIM。无奈将其卸…

transporter上传卡正在交付_【iOS】Xcode11使用Transporter将APP上传到App Store,卡在正在验证APP...

问题:在使用Transporter时,会卡主,一直显示正在验证APP在这里插入图片描述解决方案一:利用V-P-N在这里插入图片描述使用安全上网(V-P-N),双击打开iTMSTransporter,等待几分钟lichuangMacBook-Pro-3 ~ % /Ap…

python练手经典100例微盘_20个Python练手经典案例,能全做对的人确实很少!

100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。 如果你感觉学不会?莫慌,小编推荐大家加入群, 前面548中间377后面875&#xff0…

小红帽linux各功能中英,英文短剧《小红帽》剧本台词完整版---中英对照文本版...

大灰狼和小红帽的故事红帽第一场:小红帽家 妈妈: (妈妈拿着一个篮子,把桌子上的水果放在篮子里) 小红帽唱着歌,欢快地跑进来)Hi,mummy, what are you doing? 嘿,妈妈 你在什么? 妈妈: (一边把水…

uipath循环datatable_UiPath之DataTable转换为List和Array

今天给大家分享一下,如何将DataTable转为List和Array,为此小U也花了不少时间研究,最后发现没有那么复杂。先来说说List和Array的区别:List:就像一个链条,存储数据的空间可以不连续。Array:就像一…

python批量下载文件教程_Python抓包菜鸟教程:批量下载图片的方法,电脑和手机都能用...

笔者看上了一组图集,然后准备一张一张下载时,瞄了一眼,这组图集还有100,好吧,我酸了。 笔者就是试试工具,你们别像我这样用,这么好的工具,做自媒体,那绝对了那如何批量下…

esxi挂载Linux的nfs盘,ESXi安装centos7挂载群晖NFS

前段时间折腾了ESXi,然后无尽的折腾接踵而来,今天要说的是如何安装centos7并挂载群晖虚拟机的NFS共享文件夹直接步入正题!先是下载centos7镜像,因为我是用来当服务器的,所以只需要minimal版即可【centos下载链接】自己…

python使用的编辑器_我用过的最好的python编辑器PyScripter

用了IDLE, PythonWin等几个python编辑器,在代码补全、参数提示等功能上都非常不满意。 终于找到PyScripter并且试用了一下,代码补全、参数提示等功能非常强大。这个功能其实非常重要,可以大大提高开发效率,减少出错。很满意.PyScr…

linux is not unix由来,一些奇怪的 unix 指令名字的由来(转)

一些奇怪的 unix 指令名字的由来(转)[more]一些奇怪的 unix 指令名字的由来awk "Aho Weinberger and Kernighan"这个语言以作者 Al Aho, Peter Weinberger 和 Brian Kernighan 的姓来命名。grep "Global Regular Expression Print"grep 来自 ed 的列印所…

python discuz_pythonDiscuz发帖器的实现

网络技术需要大家共同分享,不能闭门造车,下面是bj-dnsCom提示:首先要清楚discuz论坛发帖的流程,简单地说就是以下流程:进入登录页 ->登录 -> 进入版面 ->发帖 首先要清楚discuz论坛发帖的流程,简单地说就是以…

基于linux的业设计课题,基于linux下智能手机的设计与制作 毕业设计.doc

本科生毕业论文(设计)题 目: 基于linux下智能手机的设计与制作目录1. 绪论11.1 嵌入式系统的应用前景11.2linux操作系统21.2.1Linux介绍22.硬件、软件介绍32.1S3c2440知识32.1.1S3c2440系统结构介绍32.1.2arm实验仪介绍72.2 GPRS无线模组92.2.1 GPRS概述及工作原理9…

excel文件导入hive乱码_将excel中的数据导入hive

步骤一:将excel另存为txt文档(文本文件(制表符分割))假设名字为CompanyCode.txt步骤二,将该txt文件导入Linux指定目录中步骤三,转换编码格式,在指定目录下执行如下命令:piconv -f gb2312 -t UTF-8 CompanyCode.txt &g…

传统的6d位姿估计fangfa1_李飞飞团队最新论文:基于anchor关键点的类别级物体6D位姿跟踪...

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达简介作者提出了一种基于RGB-D的深度学习方法6PACK,能够实时的跟踪已知类别物体。通过学习用少量的3D关键点来简洁地表示一个物体,基于这些关键点,通过关键点匹配来估计物体在…

c语言的程序结构语序,第3章 C语序结构.doc

第3章 C语序结构第三章 基本语句本章要求:1.表达式语句,空语句,复合语句2.数据的输入与输出,输入,输出函数的调用C语句概述C程序的执行部分是由语句组成的。 程序的功能也是由执行语句实现的。3.1 赋值语句赋值语句: 是由赋值表达式再加上分号构成的表达…

安卓system镜像分区_玩机爱好者想要的PT分区到底是什么?可以使现有的安卓系统更快!...

小编第一次看见PT分区这个词。就比较好奇他到底是什么神仙技术。今天,小编给大家科普一下,可能小编理解的也不是特别准确,请各位谅解!! 欢迎关注小编。各位玩机爱好者总是沉浸在各种ROM包、第三发Rec,以及各…

计算器软件C语言课程设计实验报告,c简单计算器实验报告_相关文章专题_写写帮文库...

时间:2019-05-15 12:55:15 作者:admin计算器实验报告班级: 07计本(1)班姓名: 王林学号: 20706031047指导老师: 韩静一、 需求分析(1)制作一个计算器界面工程,有数字运算符等键,输入表…

python求和1到100_python等差数列求和公式前 100 项的和实例

python等差数列求和公式前 100 项的和实例 最近跑去学了下python,一个很简单的题,结果发现数学公示忘了,在不用for循环的情况下居然有些懵,记录为下.. 题:等差数列可以定义为每一项与它的前一项的差等于一个常数,可以用…