一、使用python内置commands模块执行shell

commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态;

该命令目前已经废弃,被subprocess所替代;

二、使用python最新的subprocess模块执行shell

Python目前已经废弃了os.system,os.spawn*,os.popen*,popen2.*,commands.*来执行其他语言的命令,subprocesss是被推荐的方法;

subprocess允许你能创建很多子进程,创建的时候能指定子进程和子进程的输入、输出、错误输出管道,执行后能获取输出结果和执行状态。

也可以在Popen中指定stdin和stdout为一个变量,这样就能直接接收该输出变量值。

总结

在python中执行SHELL有时候也是很必须的,比如使用Python的线程机制启动不同的shell进程,目前subprocess是Python官方推荐的方法,其支持的功能也是最多的,推荐大家使用。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

原文链接:http://www.crazyant.net/1319.html

python 执行shell 事务_python中执行shell的两种方法总结相关推荐

  1. python右对齐格式化输出_Python中格式化输出的两种方法介绍

    本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...

  2. python随机生成验证码_Python生成随机验证码的两种方法

    # -*- coding: utf-8 -*- import random def generate_verification_code_v2(): ''' 随机生成6位的验证码 ''' code_l ...

  3. python求列表的中位数_python中获取中位数的两种方法

    普通方法: 对列表进行排序,然后根据长度为奇数或者偶数的不同情况计算中位数 def huahua(x): length = len(x) print(length) x.sort() print(x) ...

  4. python csv合并单元格_python中合并表格的两种方法

    合并表格要注意的是设置表格的表头,也就是是将表格第一列设置为合并表格的索引,这样合并表格的时候就会合并两个表格第一列的元素相同的行. 方法一:使用join合并import numpy as np im ...

  5. python画平行坐标图_Python实现平行坐标图的两种方法小结

    怎么用python实现一个坐标图的平移和缩放最容易想到的应该是DP算法,即取初始轨迹的起点A和终点B连线,计算每个点到这条线的距离,距离最大的点C若小于要分享误差则结束: 否则将C点加入压缩后的数据集 ...

  6. python编程求平均值_Python编程求平均值的两种方法是?

    方法一: scores = [91, 95, 97, 99, 92, 93, 96, 98] scores2 = [] avg = sum(scores) / len(scores) print('平 ...

  7. python去重复排序_Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...

  8. python字典取值_python 字典中取值的两种方法小结

    python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...

  9. linux c语言乘法口诀,shell 脚本实现乘法口诀表的两种方法——shell与C语言

    shell 脚本实现乘法口诀表的两种方法--shell与C语言 话不多说直接给出代码(执行c语言时没有gcc编译器会报错的哦!): 1 #!/bin/bash 2 if [ $# -eq 0 ] 3 ...

最新文章

  1. 水晶报表Crystal 语法 实用字段编辑
  2. linux ajp集群,Linux下apache tomcat ajp_proxy 负载均衡+集群+session 复制
  3. AttributeError: module ‘grpc.experimental.aio‘ has no attribute ‘StreamUnaryCall‘
  4. 巨杉数据库:金融级数据库是怎样炼成的
  5. 如何阅读AI顶会论文,搭建深度学习知识体系框架?
  6. 时空AI技术:深度强化学习在智能城市领域应用介绍
  7. 二叉搜索树的最小绝对差
  8. Linux系统编程之进程控制(进程创建,fork函数,进程中止,进程等待,程序替换)
  9. java fx border_JavaFx UI控件与代码间的绑定方法
  10. perl中-和=作用
  11. linux cat 递归目录,黑猴子的家:Linux 文件目录命令
  12. Activiti7入门,Activiti7 数据库表结构详细解析
  13. 清华大学迎来中国首个原创虚拟学生华智冰:智商、情商双高,颜值出众
  14. AVR单片机LED单灯闪烁
  15. IC在測試生產過程的靜電放電(ESD)擊傷及電性過壓(EOS)現象
  16. app后端开发四:GeoHash实现查找附近的X
  17. python爬取boss直聘招聘信息_Python 爬取boss直聘招聘信息!
  18. ESP32-CAM+PIR传感器=动作抓拍监控
  19. 少儿编程Scratch学习教程--Scratch介绍及参赛相关
  20. 微信开发生成带参数的二维码的讲解

热门文章

  1. app评论如何抓取_可能是史上最独一无二的中国高铁APP——高铁通
  2. 如何提高企业数据质量
  3. 大数据分析应用有哪些机遇与挑战
  4. alphac测试和bata测试区别_康一康!接口测试与性能测试的区别瞧过来~
  5. 牛客编程巅峰赛S2第6场 - 钻石王者
  6. python中变量怎么使用_python中变量怎么使用
  7. 小熊派开发板移植emwin_小熊派开发实践丨小熊派+合宙Cat.1接入云服务器
  8. android刷新时的圆形动画_Android自定义view渐变圆形动画
  9. [云计算]交换机二层端口access、trunk、hybird的理解
  10. php set_time_limit()的作用是什么