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实现数通设备端口监控示例
Apr 02 Python
Python中pygal绘制雷达图代码分享
Dec 07 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
Apr 02 Python
python实现微信定时每天和女友发送消息
Apr 29 Python
PyQt4实时显示文本内容GUI的示例
Jun 14 Python
详解Python是如何实现issubclass的
Jul 24 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
OpenCV模板匹配matchTemplate的实现
Oct 18 Python
一文详述 Python 中的 property 语法
Sep 01 Python
如何用Python提取10000份log中的产品信息
Jan 14 Python
详解Python中的文件操作
Jan 14 Python
用Python写一个简易版弹球游戏
Apr 13 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
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
Javascript函数的参数
2015/07/16 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
windows下安装Python和pip终极图文教程
2017/03/05 Python
简单谈谈Python中的json与pickle
2017/07/19 Python
python matlibplot绘制3D图形
2018/07/02 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
大学生如何写自荐信
2014/01/08 职场文书
安全协议书范本
2014/04/21 职场文书
个人安全承诺书
2014/05/22 职场文书
人力资源职位说明书
2014/07/29 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python