这里介绍一下python执行shell命令的四种方法:

1、os模块中的os.system()这个函数来执行shell命令>>> os.system('ls')

anaconda-ks.cfg install.log install.log.syslog send_sms_service.py sms.py

0

注,这个方法得不到shell命令的输出。

2、popen()#这个方法能得到命令执行后的结果是一个字符串,要自行处理才能得到想要的信息。>>> import os

>>> str = os.popen("ls").read()

>>> a = str.split("\n")

>>> for b in a:

print b

这样得到的结果与第一个方法是一样的。

3、commands模块#可以很方便的取得命令的输出(包括标准和错误输出)和执行状态位import commands

a,b = commands.getstatusoutput('ls')

a是退出状态

b是输出的结果。

>>> import commands

>>> a,b = commands.getstatusoutput('ls')

>>> print a

0

>>> print b

anaconda-ks.cfg

install.log

install.log.syslog

commands.getstatusoutput(cmd)返回(status,output)

commands.getoutput(cmd)只返回输出结果

commands.getstatus(file)返回ls -ld file 的执行结果字符串,调用了getoutput,不建议使用这个方法。

4、subprocess模块

使用subprocess模块可以创建新的进程,可以与新建进程的输入/输出/错误管道连通,并可以获得新建进程执行的返回状态。使用subprocess模块的目的是替代os.system()、os.popen*()、commands.*等旧的函数或模块。

import subprocess

1、subprocess.call(command, shell=True)

#会直接打印出结果。

2、subprocess.Popen(command, shell=True) 也可以是subprocess.Popen(command, stdout=subprocess.PIPE, shell=True) 这样就可以输出结果了。

如果command不是一个可执行文件,shell=True是不可省略的。

shell=True意思是shell下执行command

这四种方法都可以执行shell命令。

python 执行shell_python学习——python中执行shell命令相关推荐

  1. 为什么学习Python?选择学习Python的10个理由

    前言 为什么学习Python?选择学习Python的10个理由 Python提供了许多有用的功能特性,这些功能使其相比其他编程语言更流行也更易于学习.它支持面向对象的编程,也支持面向过程编程:我们在下 ...

  2. linux命令执行的通过程,Linux下shell命令执行过程简介

    浅析linux 下shell命令执行和守护进程 执行shell脚本有以下几种方式 1.相对路径方式,需先cd到脚本路径下 [root@banking tmp]# cd /tmp [root@banki ...

  3. 学习转载:Android中常用shell命令详解

    https://blog.csdn.net/Z_HUALIN/article/details/77878609 设置adb环境变量 其实就是将adb.exe的路径放到Path中,目的是cmd直接可以使 ...

  4. 日志处理中一些shell命令技巧

    日志处理中一些shell命令技巧 阴差阳错的做的日志分析,前途未卜的这段日子,唯一还有点意思的可能就是手动的处理大量日志.总结一下. 日志文件的输入是动则几个G的文本.从N个这样的文件中得到一个列表, ...

  5. Linux学习系列五:Shell命令脚本的基本语法

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

  6. Awk中调用shell命令

    Awk中调用shell命令 需求 在awk中,有时候需要调用linux系统中命令,如计算字符串的MD5值,并保存下来. 方法参考 call a shell command from inside aw ...

  7. matlab方程近似求根,第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令.doc...

    第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令 第七讲 MATLAB中求方程的近似根(解) 教学目的:学习matlab中求根命令,了解代数方程求根求解的四种方法,即图解法. ...

  8. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  9. python调用ipython_在IPython中执行Python程序文件的示例

    简单使用了一下之后,我觉得如果有机会(公司里面编码是极不自由的,也无所谓,我在公司不做数据分析),我肯定是更喜欢使用IPython作为我的Python shell环境了.简单的接触发现了不少我喜欢的功 ...

最新文章

  1. 当年轻人开始谈论AI伦理
  2. 算法:枚举法---kotlin
  3. WPF usercontrol 自定义依赖属性
  4. KVM虚拟化实战精讲[第五章 利用virsh对虚拟机管理]
  5. Go的runtime.GOMAXPROCS
  6. 那些年陪我走过一个又一个加班夜晚的程序员鼓励师们
  7. 1w存银行一年多少利息_利息能拿上万?银行行长:20万存款这样存,一年躺着白白赚一万!...
  8. c++ 输出格式控制
  9. Vue学习笔记之04-computed计算属性
  10. vue2.0 实现导航守卫(路由守卫)
  11. KVM安装(RHEL_6.4x64)
  12. Solr schema编写指导
  13. 计算机excel素材,excel操作练习题素材.doc
  14. 永中集成Office要敢于继续挑战微软Office
  15. 中国生产力促进中心”十四五”规划与发展规模分析报告2022~2028年
  16. 横向堆积柱状图(peak distribution)
  17. excel实用快捷键图表_使用快捷键创建Excel图表
  18. Layaair 3D场景使用
  19. 系统集成项目管理工程师 下午 真题 及考点(2022年四套卷)
  20. Cmake的重新编译

热门文章

  1. DHCP中继实操 :配置命令及DHCP中继的作用
  2. MySQL数据库的简单使用(Navicat)
  3. 阻容感基础04:电阻器应用
  4. springboot 获取enviroment.Properties的几种方式
  5. Oracle数据库新增时---违反唯一约束条件
  6. 2021年全球运动和健身营养补充剂收入大约7953.4百万美元,预计2028年达到12210百万美元
  7. 如何带领5人小团队开发软件
  8. 【今晚七点】:单目3D人体姿态估计的挑战和探索
  9. 风靡全球的16种项目管理法
  10. Unity AB包动态加载Spine动画