(1) os.system

仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息

复制代码代码如下:

system(command) -> exit_status

Execute the command (a string) in a subshell.

如果再命令行下执行,结果直接打印出来

复制代码代码如下:

>>> os.system('ls')

04101419778.CHM bash document media py-django video

11.wmv books downloads Pictures python

all-20061022 Desktop Examples project tools

(2) os.popen

该方法不但执行命令还返回执行后的信息对象

复制代码代码如下:

popen(command [, mode='r' [, bufsize]]) -> pipe

Open a pipe to/from a command returning a file object.

例如:

复制代码代码如下:

>>>tmp = os.popen('ls *.py').readlines()

>>>tmp

Out[21]:

['dump_db_pickle.py ',

'dump_db_pickle_recs.py ',

'dump_db_shelve.py ',

'initdata.py ',

'__init__.py ',

'make_db_pickle.py ',

'make_db_pickle_recs.py ',

'make_db_shelve.py ',

'peopleinteract_query.py ',

'reader.py ',

'testargv.py ',

'teststreams.py ',

'update_db_pickle.py ',

'writer.py ']

好处在于:将返回的结果赋于一变量,便于程序的处理。

(3) 使用模块 subprocess

复制代码代码如下:

>>> import subprocess

>>> subprocess.call(["cmd", "arg1", "arg2"],shell=True)

获取返回和输出:

复制代码代码如下:

import subprocess

p = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

for line in p.stdout.readlines():

print line,

retval = p.wait()

(4) 使用模块 commands

复制代码代码如下:

>>> import commands

>>> dir(commands)

['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus','getstatusoutput', 'mk2arg', 'mkarg']

>>> commands.getoutput("date")

'Wed Jun 10 19:39:57 CST 2009'

>>>

>>> commands.getstatusoutput("date")

(0, 'Wed Jun 10 19:40:41 CST 2009')

注意: 当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess,如果使用os.popen则会出现下面的错误:

复制代码代码如下:

Traceback (most recent call last):

File "./test1.py", line 56, inmain()

File "./test1.py", line 45, in main

fax.sendFax()

File "./mailfax/Fax.py", line 13, in sendFax

os.popen(cmd)

UnicodeEncodeError: 'ascii' codec can't encode characters in position 46-52: ordinal not inrange(128)

python 调用linux命令-Python执行Linux系统命令的4种方法相关推荐

  1. 在Linux命令行发送电子邮件附件的两种方法

    需 求 本文使用Centos7操作系统. 需要有一个工作正常的邮件系统.本文将不介绍如何配置邮件服务器. 1.使用mail命令 安装mailx安装包 [root@localhost ~]# yum - ...

  2. python调用shell命令-Python调用shell命令常用方法(4种)

    方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256表示未找到,该方法适用于shell命令 ...

  3. java代码执行linux命令_java执行Linux命令的方法

    本文实例讲述了java执行Linux命令的方法.分享给大家供大家参考.具体实现方法如下: public class StreamGobbler extends Thread { InputStream ...

  4. python调用shell命令-python调用shell命令小结

    在写python脚本的时候,经常需要调用系统命令,常用的python调用系统命令的方法主要有subprocess.call和os.popen.默认情况下subprocess.call的方法结果是返回值 ...

  5. cuda安装linux命令,ubuntu下安装cuda的两种方法

    1. 安装方法1 对.其实底部已经有安装说明了,这里再详细说明一下. 首先肯定是将.deb安装包下载到本地. 然后使用ctrl+alt+F1进入终端,使用如下命令关掉图形用户界面: sudo serv ...

  6. python调用shell命令-python中执行shell命令的几个方法小结

    最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 复制代码 代码如下: os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或 ...

  7. python调用shell命令-Python怎么运行shell脚本

    Python作为一门脚本语言,有时候需要与shell命令交互式使用,在Python中提供了很多的方法可以调用并执行shell脚本,本文介绍几个简单的方法. Python怎么运行shell脚本 一.os ...

  8. execl执行linux命令,execl执行Linux命令

    相关函数:execle, execlp, execv, execve, execvp 1.表头文件: #include 2.函数定义: int execl(const char *path, cons ...

  9. linux命令history作用,Linux命令:history命令历史的管理及用法

    bash可以保存的过去曾经执行过的命令.当某个用户登录到shell中,会读取该用户家目录中的~/.bash_history文件,并将历史命令列表保存到内存中.当用户退出当前shell时,会将内存中的历 ...

  10. Linux系统中运行.sh文件的几种方法

    在Linux系统中执行.sh文件的几种方法: 1. cd到.sh文件所在的目录,然后执行./xxx.sh   [前提:该./sh文件要有可执行的权限,chmod u+x xxx.sh]  2. 在任何 ...

最新文章

  1. 汇聚开发者星星之火,华为鸿蒙系统有希望成为国产之光?
  2. 一个自定义python分布式爬虫框架。
  3. ORACLE时间函数(SYSDATE)深入理解
  4. 高速无人机独立穿越森林,全程自己规划路线,时速高达40公里
  5. 查题接口 源码 php 爬题,大学网课查题公众号查题教程_网课查题题库接口API-在线搜答案...
  6. MySQL数据库性能优化--SQL优化
  7. 【测试】有道云笔记数据导出备份功能体验测试
  8. latex 表格中虚线_如何识别和修复表格识别中的虚线
  9. Javascript学习总结 - JS基础系列 二
  10. Guava 实用操作集合
  11. osg多线程_尝试使用Osg编译上下文实现多线程编译显示列表--总结
  12. python语言的官方网站-web2py
  13. JS 实现 DIV 遍历并随机替换DIV内容
  14. 在终端terminal运行ReactNative程序经常出现的问题
  15. 五大好用的开源MySQL管理工具
  16. 基于灰狼优化算法的线性规划问题求解matlab程序
  17. win10系统任务栏卡死
  18. 2020最新Ubutu18.04安装NVIDIA出现如下报错解决方法[亲测可用]
  19. 简单五子棋(单机版-C)
  20. vue怎么给pc端浏览器设置一个最小屏幕_图文讲解uni-app的PC宽屏适配方案

热门文章

  1. 线程池 And 线程池的使用(基于.net平台)
  2. MySQL数据库学习【第九篇】索引原理与慢查询优化
  3. 孕期骨质疏松危害大 及时补钙很重要
  4. 数控技能大赛计算机程序设计员,2018全国技能大赛–第八届全国数控技能大赛通知...
  5. 不从事编程、学python有用吗-没想到,学会Python即使不做程序员都能月入过万!...
  6. python3.6安装教程-python3.6环境安装+pip环境配置教程图文详解
  7. python资料书-史上最全Python从入门到资深书籍资料分享!
  8. python笔记本-如何用Python在笔记本电脑上分析100GB数据(下)
  9. python有趣的小项目-10 个最值得 Python 新人练手的有趣项目
  10. python第三方库numpy-Python第三方库之Numpy库