`
f002489
  • 浏览: 264108 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

python执行外部命令或URL

阅读更多

[*]执行外部命令或URL
在Python/wxPython环境下,执行外部命令或者说在Python程序中启动另一个程序的方法一般有这么几个:

1、os.system(command)

2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)
若置syn为wx.EXEC_ASYNC则wx.Excute函数立即返回,若syn=wx.EXEC_SYNC则等待调用的程序结束后再返回。
callback是一个wx.Process变量,如果callback不为None且syn=wx.EXEC_ASYNC,则程序结束后将调用wx.Process.OnTerminate()函数。

os.system()和wx.Execute()都利用系统的shell,执行时会出现shell窗口。如在Windows下会弹出控制台窗口,不美观。下面的两种方法则没有这个缺点。

3、class subprocess.Popen
最简单的用法是:

import subprocess
subprocess.Popen(command, shell=True)

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

前面三个方法只能用于执行程序和打开文件,不能处理URL,打开URL地址可用webbrowser模块提供的功能。

4、webbrowser.open(url)


调用系统缺省浏览器打开URL地址,如 webbrowser.open('http://www.google.com'),也可以利用
webbrowser.open('h:\python.zip')来执行程序。这样可以不必区分是文件名还是URL,不知道在Linux下是否可行。


以上在Windows2000,Python2.4a1,wxPython 2.5.1运行。

modify:还有一种方式:subprocess.call(*args, **kwargs)

分享到:
评论

相关推荐

    Python Cookbook

    3.10 反复执行某个命令 125 3.11 定时执行命令 127 3.12 十进制数学计算 129 3.13 将十进制数用于货币处理 130 3.14 用Python实现的简单加法器 133 3.15 检查信用卡校验和 136 3.16 查看汇率 137 第4章 ...

    hydra-link-checker::snake:九头蛇

    要将输出保存到文件,请运行: python hydra.py [URL] > [PATH/TO/FILE.yaml] 您可以使用命令替换将当前日期添加到文件名,例如: python hydra.py [URL] > /path/to/ $( date ' +%Y_%m_%d ' ) _report.yaml 要了解...

    deep-learning-from-scratch-2:“从头开始的深度学习❷”(O'Reilly Japan,2018年)

    从头开始进行深度学习❷这是“”一书(O'Reilly Japan)的... SciPy(可选) CuPy(可选)执行方式转到每个章节的文件夹,然后运行Python命令。 $ cd ch01$ python train.py$ cd ../ch05$ python train_custom_loop.p

    virtual-boards:Web应用程序,显示用于个人组织的虚拟板(对TODO列表,项目管理等有用)

    开发中的项目 概述 ... 运行python命令 python main.py runserver 建立资料库 python main.py db init python main.py db migrate python main.py db upgrade REST API文档 对于所有请求,默认输出格式

    Flask之flask-script模块使用

    Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务;使得脚本和系统分开; Flask Script和...

    使用Subversion进行版本控制(针对 Subversion 1.4)

    文件的可执行性 行结束字符串 忽略未版本控制的条目 关键字替换 锁定 创建锁定 发现锁定 解除和偷窃锁定 锁定交流 外部定义 Peg和实施修订版本 网络模型 请求和响应 客户端凭证缓存 4. 分支与合并 什么是分支? 使用...

    massive-change-detection:QGIS 2插件,用于在高分辨率卫星图像上应用变化检测算法

    大规模变更检测-QGIS插件 QGIS 2插件将更改检测算法应用于卫星图像,以生成城市规划报告。安装添加插件库要安装此插件,您需要首先添加我们的... 在终端中,运行以下命令: pip install --user fiona numpy opencv-pyth

    SVN使用手册中文版快速入门

    为什么日志说通过Apache(ra_dav)提交或导入的文件“(no author)”? 我偶然在Windows得到“Access Denied”错误,它们看起来随即出现。 在FreeBSD,某些操作(特别是svnadmin create)有时会挂起。 我可以在web...

    SVN使用手册中文版.chm

    为什么日志说通过Apache(ra_dav)提交或导入的文件“(no author)”? 我偶然在Windows得到“Access Denied”错误,它们看起来随即出现。 在FreeBSD,某些操作(特别是svnadmin create)有时会挂起。 我可以在web...

    疯狂JAVA讲义

    1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6 1.3.2 Java程序的运行机制和JVM 6 1.4 开发Java的准备 7 1.4.1 安装JDK 8 学生提问:不是说JVM是运行Java程序的虚拟机吗?那...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用global语句。而你要将该变量的作用范围限制在该函数之内,使用static语句。 $g_var = 1 ; // 全局范围 function test() { global $g_var; // 这样...

Global site tag (gtag.js) - Google Analytics