python执行外部程序的常用方法小结


Posted in Python onMarch 21, 2015

本文实例总结了python执行外部程序的常用方法。分享给大家供大家参考。具体分析如下:

在python中我们可以通过下面的方法直接调用系统命令或者外部程序,使用方便

1、os模块的execl方法

Python的execl系统方法同Unix的exec系统调用是一致的。这些方法适用于在子进程中调用外部程序的情况,因为外部程序会替换当前进程的代码,不会返回。
也就是说,这个shell进程被占领,将执行第一个execl的命令程序而不再返回。

2、使用os模块的system方法

system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果。这个方法比较适用于外部程序没有输出结果的情况。比如在Ubuntu下,使用下面命令在桌面上显示一条提示信息。
根据我的实验,用system方法调用的进程正常结束返回0,异常结束返回非0,而不取决于进程主函数的返回值。

3、使用os模块的popen方法

当需要得到外部程序的输出结果时,本方法非常有用。比如使用urllib调用Web API时,需要对得到的数据进行处理。一个使用例子如下:

cmd = "ssh search47c.cm2 \"" + query + "\""
#print cmd + "<br>"
output = os.popen(cmd)
#对特殊字符进行转义
temp1 = output.read().replace('<','<')
temp2 = temp1.replace('>', ">")
temp3 = temp2.replace('\n', "<br>")
print temp3.replace('/', "/")

4、使用commands模块的getoutput方法(没用过)

这种方法同popend的区别在于popen返回的是一个文件句柄,而本方法将外部程序的输出结果当作字符串返回,很多情况下用起来要更方便些。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python中的多重继承实例讲解
Sep 28 Python
进一步理解Python中的函数编程
Apr 13 Python
在Python中的Django框架中进行字符串翻译
Jul 27 Python
python实现下载指定网址所有图片的方法
Aug 08 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 Python
python实现大学人员管理系统
Oct 25 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
python词云库wordcloud的使用方法与实例详解
Feb 17 Python
pytorch 如何使用float64训练
May 24 Python
python神经网络ResNet50模型
May 06 Python
python使用Flask框架获取用户IP地址的方法
Mar 21 #Python
Python使用Flask框架获取当前查询参数的方法
Mar 21 #Python
Python使用Flask框架同时上传多个文件的方法
Mar 21 #Python
python中Flask框架简单入门实例
Mar 21 #Python
python中django框架通过正则搜索页面上email地址的方法
Mar 21 #Python
Python去除列表中重复元素的方法
Mar 20 #Python
python在windows下实现ping操作并接收返回信息的方法
Mar 20 #Python
You might like
人族 TERRAN 概述
2020/03/14 星际争霸
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
2017/11/02 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
Python中threading模块join函数用法实例分析
2015/06/04 Python
Python实现的购物车功能示例
2018/02/11 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
django url到views参数传递的实例
2019/07/19 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
2019/08/19 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
会计专业大学生职业生涯规划书
2014/02/11 职场文书
服装促销活动方案
2014/02/23 职场文书
2014年财务科工作总结
2014/11/11 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
Python使用openpyxl批量处理数据
2021/06/23 Python