上一篇中提到了执行系统命令的新利器os模块,其中有两个方法可以用来执行系统命令一个是os.popen()一个是os.system(),还有两种可以用来执行系统命令的方法一个是:python自带的commands模块另一个是python的进程管理模块subprocess。这里主要说的是python自带的commands模块。

看一个简单的演示,依旧使用的是之前的排序算法:

>>> (status, commands)=commands.getstatusoutput('python dui.py')
>>> print (status, commands)
(0, '\xe9\x9a\x8f\xe6\x9c\xba\xe5\xba\x8f\xe5\x88\x97\xe7\x94\x9f\xe6\x88\x90\xe8\x80\x97\xe6\x97\xb6\xef\xbc\x9a 0.000231981277466\n\xe5\xa0\x86\xe6\x8e\x92\xe5\xba\x8f\xe7\xbb\x93\xe6\x9e\x9c\xe4\xb8\xba\n[6, 15, 42, 57, 68, 78, 86, 88, 128, 130, 131, 141, 152, 155, 163, 165, 166, 178, 199, 220, 229, 244, 248, 248, 251, 262, 262, 280, 291, 319, 325, 340, 344, 347, 356, 393, 398, 409, 421, 421, 423, 448, 450, 457, 459, 469, 475, 488, 489, 507, 519, 534, 534, 540, 542, 544, 547, 548, 586, 607, 610, 630, 640, 646, 666, 667, 673, 693, 702, 708, 730, 731, 746, 758, 777, 794, 802, 803, 804, 804, 808, 828, 863, 869, 874, 878, 881, 898, 902, 919, 920, 923, 936, 943, 950, 951, 971, 973, 980, 996]\n\xe5\xa0\x86\xe6\x8e\x92\xe5\xba\x8f\xe6\x80\xbb\xe8\x80\x97\xe6\x97\xb6\xef\xbc\x9a 0.000458955764771\n\xe5\xbd\x92\xe5\xb9\xb6\xe6\x8e\x92\xe5\xba\x8f\xe7\xbb\x93\xe6\x9e\x9c\xe4\xb8\xba\n[6, 15, 42, 57, 68, 78, 86, 88, 128, 130, 131, 141, 152, 155, 163, 165, 166, 178, 199, 220, 229, 244, 248, 248, 251, 262, 262, 280, 291, 319, 325, 340, 344, 347, 356, 393, 398, 409, 421, 421, 423, 448, 450, 457, 459, 469, 475, 488, 489, 507, 519, 534, 534, 540, 542, 544, 547, 548, 586, 607, 610, 630, 640, 646, 666, 667, 673, 693, 702, 708, 730, 731, 746, 758, 777, 794, 802, 803, 804, 804, 808, 828, 863, 869, 874, 878, 881, 898, 902, 919, 920, 923, 936, 943, 950, 951, 971, 973, 980, 996]\n\xe5\xbd\x92\xe5\xb9\xb6\xe6\x8e\x92\xe5\xba\x8f\xe6\x80\xbb\xe8\x80\x97\xe6\x97\xb6\xef\xbc\x9a 0.00229287147522\n\xe5\xbf\xab\xe9\x80\x9f\xe6\x8e\x92\xe5\xba\x8f\xe7\xbb\x93\xe6\x9e\x9c\xe4\xb8\xba\n[6, 15, 42, 57, 68, 78, 86, 88, 128, 130, 131, 141, 152, 155, 163, 165, 166, 178, 199, 220, 229, 244, 248, 248, 251, 262, 262, 280, 291, 319, 325, 340, 344, 347, 356, 393, 398, 409, 421, 421, 423, 448, 450, 457, 459, 469, 475, 488, 489, 507, 519, 534, 534, 540, 542, 544, 547, 548, 586, 607, 610, 630, 640, 646, 666, 667, 673, 693, 702, 708, 730, 731, 746, 758, 777, 794, 802, 803, 804, 804, 808, 828, 863, 869, 874, 878, 881, 898, 902, 919, 920, 923, 936, 943, 950, 951, 971, 973, 980, 996]\n\xe5\xbf\xab\xe9\x80\x9f\xe6\x8e\x92\xe5\xba\x8f\xe6\x80\xbb\xe8\x80\x97\xe6\x97\xb6\xef\xbc\x9a 0.00102496147156')

几个方法都有异曲同工之妙,跟直接使用Linux指令没有多大的差别。

接下来使用上一篇文章中说到的os.system()和commands做一个对比的演示:

功能:输出Linux.txt前十行内容
>>> print os.system('head Linux.txt')
1.[root@localhost/root]# 表示登陆进去系统,其中#是超级用户也即root用户的系统提示符
2.reboot命令可以重启系统
3.关闭系统使用(该命令只可被超级用户使用):shutdown[选项][时间][警告信息]
-k:不真正关机只是发警告系想你给所有用户
-r:关机后立刻重启
-h:关机后不启动
-f:快速关机重启时跳过fsck
-n:快速关机不经过init程序
-c:取消一个已经运行的shutdown
4.文件操作命令
0
>>> print commands.getstatusoutput('head Linux.txt')
(0, '1.[root@localhost/root]# \xe8\xa1\xa8\xe7\xa4\xba\xe7\x99\xbb\xe9\x99\x86\xe8\xbf\x9b\xe5\x8e\xbb\xe7\xb3\xbb\xe7\xbb\x9f\xef\xbc\x8c\xe5\x85\xb6\xe4\xb8\xad#\xe6\x98\xaf\xe8\xb6\x85\xe7\xba\xa7\xe7\x94\xa8\xe6\x88\xb7\xe4\xb9\x9f\xe5\x8d\xb3root\xe7\x94\xa8\xe6\x88\xb7\xe7\x9a\x84\xe7\xb3\xbb\xe7\xbb\x9f\xe6\x8f\x90\xe7\xa4\xba\xe7\xac\xa6\r\n2.reboot\xe5\x91\xbd\xe4\xbb\xa4\xe5\x8f\xaf\xe4\xbb\xa5\xe9\x87\x8d\xe5\x90\xaf\xe7\xb3\xbb\xe7\xbb\x9f\r\n3.\xe5\x85\xb3\xe9\x97\xad\xe7\xb3\xbb\xe7\xbb\x9f\xe4\xbd\xbf\xe7\x94\xa8\xef\xbc\x88\xe8\xaf\xa5\xe5\x91\xbd\xe4\xbb\xa4\xe5\x8f\xaa\xe5\x8f\xaf\xe8\xa2\xab\xe8\xb6\x85\xe7\xba\xa7\xe7\x94\xa8\xe6\x88\xb7\xe4\xbd\xbf\xe7\x94\xa8\xef\xbc\x89:shutdown[\xe9\x80\x89\xe9\xa1\xb9][\xe6\x97\xb6\xe9\x97\xb4][\xe8\xad\xa6\xe5\x91\x8a\xe4\xbf\xa1\xe6\x81\xaf]\r\n-k\xef\xbc\x9a\xe4\xb8\x8d\xe7\x9c\x9f\xe6\xad\xa3\xe5\x85\xb3\xe6\x9c\xba\xe5\x8f\xaa\xe6\x98\xaf\xe5\x8f\x91\xe8\xad\xa6\xe5\x91\x8a\xe7\xb3\xbb\xe6\x83\xb3\xe4\xbd\xa0\xe7\xbb\x99\xe6\x89\x80\xe6\x9c\x89\xe7\x94\xa8\xe6\x88\xb7\r\n-r\xef\xbc\x9a\xe5\x85\xb3\xe6\x9c\xba\xe5\x90\x8e\xe7\xab\x8b\xe5\x88\xbb\xe9\x87\x8d\xe5\x90\xaf\r\n-h:\xe5\x85\xb3\xe6\x9c\xba\xe5\x90\x8e\xe4\xb8\x8d\xe5\x90\xaf\xe5\x8a\xa8\r\n-f:\xe5\xbf\xab\xe9\x80\x9f\xe5\x85\xb3\xe6\x9c\xba\xe9\x87\x8d\xe5\x90\xaf\xe6\x97\xb6\xe8\xb7\xb3\xe8\xbf\x87fsck\r\n-n:\xe5\xbf\xab\xe9\x80\x9f\xe5\x85\xb3\xe6\x9c\xba\xe4\xb8\x8d\xe7\xbb\x8f\xe8\xbf\x87init\xe7\xa8\x8b\xe5\xba\x8f\r\n-c:\xe5\x8f\x96\xe6\xb6\x88\xe4\xb8\x80\xe4\xb8\xaa\xe5\xb7\xb2\xe7\xbb\x8f\xe8\xbf\x90\xe8\xa1\x8c\xe7\x9a\x84shutdown\r\n4.\xe6\x96\x87\xe4\xbb\xb6\xe6\x93\x8d\xe4\xbd\x9c\xe5\x91\xbd\xe4\xbb\xa4\r')

python模块commands执行系统命令相关推荐

  1. 安装python 的包控制mysql的Python脚本与执行系统命令的Python脚本

    安装python 的包 python 有很多的第三方软件包, 提供了 标准库中没有的功能. python 的官方支持的软件包的网站: PyPI · The Python Package Index 安 ...

  2. python 模块命名空间_如何在python模块中执行导入而不污染其命名空间?

    我正在开发一个用于处理一些科学数据的Python包.在其他模块和包中有多个经常使用的类和函数,包括numpy,我几乎需要在包的任何模块中定义的每个函数. Pythonic的处理方式是什么?我已经考虑过 ...

  3. python commands 执行命令详解

    python 模块 commands 执行命令 文章目录 python 模块 commands 执行命令 1. 介绍 2. 方法 2.1 commands.getstatusoutput(cmd) 2 ...

  4. IBM SPSS Statistics 与用户自定义 Python 模块的集成及分析

    本文介绍了如何将用户自定义的功能模块与 IBM SPSS Statistics 进行集成, 如何利用 Statistics 提供的统计分析方法对功能模块的输入数据进行预处理,并对集成结果进行分析与演示 ...

  5. python commands用法_python之commands模块(执行Linux Shell命令)

    commands模块 用于执行Linux shell命令,要获得shell命令的输出只需要在后面参数写入('命令')就可以了. 需要得到命令执行的状态则需要判断$?的值, 在Python中有一个模块c ...

  6. python执行系统命令的方法

    做为系统工程师来说,经常会用到python脚本去调用一下系统命令,现把经常使用的集中调用方法总结如下: 一,os.system(command) 在一个子shell中运行command命令,并返回co ...

  7. python调用系统_python 执行系统命令

    Python中执行系统命令常见的几种方法: (1)os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 # 如果再命令行下执行,结果直接打印出来 例如: >> ...

  8. python执行系统命令的方法_python执行系统命令的方法 :os.system(),subprocess.popen(),command...

    最近接触到os.system(),subprocess.popen()和commands来执行系统命令,从网上搜索到许多,现整理如下. 1. 使用os.system("cmd") ...

  9. 【初学】python执行系统命令四种方法比较

    Python中执行系统命令常见的几种方法有 注意:以下实例代码在Python3.5下运行通过. 一.os.system方法 os.system(cmd) 在子终端运行系统命令,可以获取命令执行后的返回 ...

最新文章

  1. IE8 的兼容性问题总结
  2. 程序中添加动态用户密码
  3. EasyUI下拉框级联
  4. iOS---------关于野指针定位总结
  5. 开始JBoss BPM流程的3种基本方法
  6. 怎么做笔记标签贴_小红书笔记互动到底该怎么做?
  7. (王道408考研数据结构)第三章栈和队列-第二节:队列基本概念、顺序栈和链栈基本操作
  8. cocos creator粒子不变色_隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !
  9. sqlCommang ADO.Net
  10. python数据导出excel_【python Excel】如何使用python将大量数据导出到Excel中的小技巧之一...
  11. 谷歌的下一个×××烦
  12. Java+opencv+mysql实现人脸识别源码(人脸采集入库+人脸识别相似度)
  13. 淘宝为什么有的人月销量上万,他们是怎么操作的?
  14. java工商银行项目_工商银行聚合支付,java开发实现
  15. ios在判断设备是ipad_iOS 判断设备型号、屏幕尺寸、系统版本、设备朝向
  16. 基于STM32F407_温度传感器DS18B20的TFT显示屏实时显示温度
  17. 一个人花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了,11块卖给另外一个人。问他赚了多少?
  18. 胃与十二指肠溃疡的食疗方
  19. 网页三维地图技术初探
  20. Basic Concepts in Graphics and Architecture

热门文章

  1. 超市服务器安装哪个系统好,超市收银系统哪个好?如何挑选到适合自家超市用的收银系统?...
  2. ThreeJS中文字体乱码问题
  3. 算法题:1000个苹果和10个箱子
  4. 运通四方汽配管理系统
  5. Office 365 利用并行工作流构建威客式任务管理系统之使用SharePoint Designer 定制威客任务管理流程!
  6. 【源码】100W太阳能电池板的SIMULINK仿真
  7. 阿里妈妈技术联盟Java后端研发五轮技术面总结
  8. PPT怎么制作盗墓笔记的文字效果?
  9. 视频搜索引擎的Top 10
  10. 2023计算机毕业设计SSM最新选题之java企业绩效考核系统x73jw