四种执行python系统命令的方法

Python中执行系统命令常见的几种方法有

注意:以下实例代码在Python3.5下运行通过。

一、os.system方法

os.system(cmd)

在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态

>>> import os>>> os.system('date')2018年 4月 8日 星期日 19时29分13秒 CST0  #运行状态号,0表示正确

执行后返回两行结果,第一行是结果, 第二行是执行状态信息

二、os.popen方法

os.popen(cmd)

不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息),是通过一个管道文件将结果返回

>>> import os>>> nowtime = os.popen('date')>>> print(nowtime.read())2018年 4月 8日 星期日 19时30分35秒 CST
三、commands模块

方法 说明

getoutput 获取执行命令后的返回信息

getstatus 获取执行命令的状态值(执行命令成功返回数值0,否则返回非0)

getstatusoutput 获取执行命令的状态值以及返回信息

>>> import commonds>>> status, output = commands.getstatusoutput('date')>>> print(status)    # 0>>> print(output)    # 2018年 4月 8日 星期日 19时31分45秒 CST

注意1:在类unix的系统下使用此方法返回的返回值(status)与脚本或命令执行之后的返回值不等,这是因为调用了os.wait()的缘故,具体原因就得去了解下系统wait()的实现了。需要正确的返回值(status),只需要对返回值进行右移8位操作就可以了。

注意2:当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess。

四、subprocess模块

运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。有丰富的参数可以进行配置,可供我们自定义的选项多,灵活性高。之前我使用os.system的时候遇到文件描述符被子进程继承的问题,后来通过close_fds = False 这个参数来解决的。官方文档:http://python.usyiyi.cn/python_278/library/subprocess.html

>>> import subprocess>>> nowtime = subprocess.Popen('date', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)>>> print(nowtime.stdout.read())2018年 4月 8日 星期日 19时32分41秒 CST
(0)

相关推荐

  • Python脚本执行shell的一个小问题

    原创 DBA随笔 DBA随笔 1周前收录于话题#Python学习笔记29个 //Python脚本执行shell的一个小问题//     在python脚本中执行shell命令,可能是平常写脚本过程中比 ...

  • python笔记65 - Python3 subprocess执行命令行获取返回结果

    前言 subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值. Popen 是 subprocess的核心,子进程的创建和管理都靠它处理. subproc ...

  • (1条消息) 程序员:利用Python实现可控制肉鸡的反向Shell

    一.初识 1.1 用 Python 实现一个可以管理多个肉鸡的反向 Shell,为什么叫反向 Shell 呢?反向就是肉鸡作为 Client 主动连接到我们的 Server 端,以实现对多个远程主机的 ...

  • python 执行CMD命令

    常用的有2种方法: os.system(),os.popen() os.system() 这是最简单的一种方法,其执行过程中会输出显示cmd命令执行的状态信息. 例如:print os.system( ...

  • python3常用标准库

    python3常用标准库 趁着有时间,把一些我用过的常用标准库进行整理和复习. time 用法 说明 time.time() 返回时间戳(从1970年1月1日00:00:00开始计算) time.lo ...

  • 健康离不开的两大要素,四种增加人体自愈力的方法,一切法从心生

    健康离不开的两大要素,四种增加人体自愈力的方法,一切法从心生

  • 小龙虾十四种常见疾病及其防治方法!!

    小龙虾是我们餐桌上常见的一道特色菜,在养殖过程中有时候会发病,在防治过程需要掌握哪些方法呢? 1.软壳病 病因:体内缺钙,另外,光照不足.pH值长期偏低,池底淤泥过厚.虾苗密度过大.长期投喂单一饵料也 ...

  • 四种非常有效的背诵方法

    一.命题规律复盘法,复盘历年考题的命题规律.背书就像谈恋爱,你都不知道考试考什么,那你背什么呢?所有的考试,都遵循28定律,考核永远是只考20%的重要内容.80%的内容几乎不考.所以你通过复盘历年真题 ...

  • 大俗即大雅:教你四种重彩山水的上色方法。...

    红.黄.绿等这几种颜色是中国特有的民族色彩,在戏曲.民俗中广泛运用,形式感非常强,山水画中运用得当,可营造出浓郁的氛围,表达画家热烈的情感,产生强烈的视觉冲击和雅俗共赏的审美效果. 1.绿色山水:以绿 ...

  • 视功能—四种基本眼位的检查方法

    四种基本眼位的检查方法 四种检查方法是遮盖法.角膜映光法.单视标检查法(两眼视网膜的物像是同一物体的景象)和双视标检查法(两只眼分别注视两个不同的视标). 1.遮盖法 病人的眼球必须有运动功能才能利用 ...

  • 谨记 四种改善睡眠质量的方法

    失眠质量的好坏关系到一个人的精神状态问题,严重的话还会引发各类疾病的发生.所以睡眠对于每个人来说都是非常重要的,那么你们知道要如何改善睡眠质量吗?下面小编为大家介绍四种有效改善睡眠质量的方法,希望对大 ...

  • 四种有效增长功力的方法,跟着练吧!

    拳谚:"练拳不练功,到老一场空",传统武术中一般都有不少的练力强身的功法训练,为的是让练武者身强力壮,耐力体力增强,打拳威猛有力,重若千均.只练拳不练功的人,只能算是花架子,不堪一 ...

  • 『黄帝内经解读』黄帝内经中四种养生家养生的方法

    黄帝内经中四种养生家养生的方法 [原文] 黄帝曰:余闻上古有真人(1)者,提挈天地,把握阴阳,呼吸精气,独立守神(2),肌肉若一,故能寿敝天地,无有终时,此其道生.中古之时,有至人(3)者,淳德全道, ...

  • 四种口味病机及治疗方法。口酸是胃的病,掐...

    四种口味病机及治疗方法.口酸是胃的病,掐点内庭穴:口苦是胆的病,拍击尺泽穴出痧和胆囊穴刮痧:口涩是津液亏虚不足,点揉承浆穴:口黏是脾虚有湿的病,治疗穴位为阴陵泉点揉.感谢程教授细致讲解,您的智慧和大爱 ...