python 调用linux命令-Python执行Linux系统命令的4种方法
(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种方法相关推荐
- 在Linux命令行发送电子邮件附件的两种方法
需 求 本文使用Centos7操作系统. 需要有一个工作正常的邮件系统.本文将不介绍如何配置邮件服务器. 1.使用mail命令 安装mailx安装包 [root@localhost ~]# yum - ...
- python调用shell命令-Python调用shell命令常用方法(4种)
方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256表示未找到,该方法适用于shell命令 ...
- java代码执行linux命令_java执行Linux命令的方法
本文实例讲述了java执行Linux命令的方法.分享给大家供大家参考.具体实现方法如下: public class StreamGobbler extends Thread { InputStream ...
- python调用shell命令-python调用shell命令小结
在写python脚本的时候,经常需要调用系统命令,常用的python调用系统命令的方法主要有subprocess.call和os.popen.默认情况下subprocess.call的方法结果是返回值 ...
- cuda安装linux命令,ubuntu下安装cuda的两种方法
1. 安装方法1 对.其实底部已经有安装说明了,这里再详细说明一下. 首先肯定是将.deb安装包下载到本地. 然后使用ctrl+alt+F1进入终端,使用如下命令关掉图形用户界面: sudo serv ...
- python调用shell命令-python中执行shell命令的几个方法小结
最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 复制代码 代码如下: os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或 ...
- python调用shell命令-Python怎么运行shell脚本
Python作为一门脚本语言,有时候需要与shell命令交互式使用,在Python中提供了很多的方法可以调用并执行shell脚本,本文介绍几个简单的方法. Python怎么运行shell脚本 一.os ...
- execl执行linux命令,execl执行Linux命令
相关函数:execle, execlp, execv, execve, execvp 1.表头文件: #include 2.函数定义: int execl(const char *path, cons ...
- linux命令history作用,Linux命令:history命令历史的管理及用法
bash可以保存的过去曾经执行过的命令.当某个用户登录到shell中,会读取该用户家目录中的~/.bash_history文件,并将历史命令列表保存到内存中.当用户退出当前shell时,会将内存中的历 ...
- Linux系统中运行.sh文件的几种方法
在Linux系统中执行.sh文件的几种方法: 1. cd到.sh文件所在的目录,然后执行./xxx.sh [前提:该./sh文件要有可执行的权限,chmod u+x xxx.sh] 2. 在任何 ...
最新文章
- 汇聚开发者星星之火,华为鸿蒙系统有希望成为国产之光?
- 一个自定义python分布式爬虫框架。
- ORACLE时间函数(SYSDATE)深入理解
- 高速无人机独立穿越森林,全程自己规划路线,时速高达40公里
- 查题接口 源码 php 爬题,大学网课查题公众号查题教程_网课查题题库接口API-在线搜答案...
- MySQL数据库性能优化--SQL优化
- 【测试】有道云笔记数据导出备份功能体验测试
- latex 表格中虚线_如何识别和修复表格识别中的虚线
- Javascript学习总结 - JS基础系列 二
- Guava 实用操作集合
- osg多线程_尝试使用Osg编译上下文实现多线程编译显示列表--总结
- python语言的官方网站-web2py
- JS 实现 DIV 遍历并随机替换DIV内容
- 在终端terminal运行ReactNative程序经常出现的问题
- 五大好用的开源MySQL管理工具
- 基于灰狼优化算法的线性规划问题求解matlab程序
- win10系统任务栏卡死
- 2020最新Ubutu18.04安装NVIDIA出现如下报错解决方法[亲测可用]
- 简单五子棋(单机版-C)
- vue怎么给pc端浏览器设置一个最小屏幕_图文讲解uni-app的PC宽屏适配方案
热门文章
- 线程池 And 线程池的使用(基于.net平台)
- MySQL数据库学习【第九篇】索引原理与慢查询优化
- 孕期骨质疏松危害大 及时补钙很重要
- 数控技能大赛计算机程序设计员,2018全国技能大赛–第八届全国数控技能大赛通知...
- 不从事编程、学python有用吗-没想到,学会Python即使不做程序员都能月入过万!...
- python3.6安装教程-python3.6环境安装+pip环境配置教程图文详解
- python资料书-史上最全Python从入门到资深书籍资料分享!
- python笔记本-如何用Python在笔记本电脑上分析100GB数据(下)
- python有趣的小项目-10 个最值得 Python 新人练手的有趣项目
- python第三方库numpy-Python第三方库之Numpy库