在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)

转载于:https://blog.51cto.com/ylj798/1063337

python执行外部命令或URL相关推荐

  1. python执行的命令_如何在Python中执行外部命令

    Python子进程模块允许生成新进程,从Python脚本执行外部命令. 您可以使用这些教程来安装最新版本的Python. 此外,还有许多可用于Python IDE. 就像在Ubuntu系统上安装PyC ...

  2. 从Python调用外部命令

    您如何在Python脚本中调用外部命令(就像我在Unix Shell或Windows命令提示符下键入的一样)? #1楼 os.system不允许您存储结果,因此,如果您要将结果存储在某个列表中或sub ...

  3. 13.执行外部命令subprocess

    subprocess模块是Python自带的模块,无须再另外安装,它主要用来取代一些旧的模块和方法,如os.system. os.spawn*.os.popen*.cammands.*等,因此如果需要 ...

  4. python3中使用subprocess模块执行外部命令

    一. subprocess模块介绍 subprocess模块可以替代os模块下的os.system和os.popen等操作方法 subprocess模块在python2和python3上的使用上有一定 ...

  5. 在awk中执行外部命令

    在awk中执行外部命令 1.借助system/getline删除 awk '{cmd="rm "$0;system(cmd)}' filename awk '{cmd=" ...

  6. python怎样执行curl命令_如何使用python执行curl命令

    如何使用python执行curl命令 我想在python中执行curl命令. 通常,我只需要在终端输入命令并按回车键. 但是,我不知道它在python中是如何工作的. 该命令如下所示: curl -d ...

  7. python3使用subprocess_python3中使用subprocess模块执行外部命令

    一. subprocess模块介绍 1. subprocess模块可以替代os模块下的os.system和os.popen等操作方法 2. subprocess模块在python2和python3上的 ...

  8. Go 学习笔记(43)— Go 标准库之 os/exec(执行外部命令、非阻塞等待、阻塞等待、命令输出)

    1. 概述 golang 下的 os/exec 包执行外部命令包执行外部命令.它包装了 os.StartProcess 函数以便更容易的修正输入和输出,使用管道连接I/O,以及作其它的一些调整. 与 ...

  9. sed当中使用变量替换以及执行外部命令

    转自:http://blog.csdn.net/linwhwylb/article/details/7184748 在使用sed对日志或者其它文本进行parse的过程当中,有时候我们需要引用外部变量的 ...

最新文章

  1. nginx如何开启debug日志及相关配置
  2. Python守护进程和脚本单例运行
  3. ppt怎么加注解文字_PPT怎么在演示稿中添加批注的方法
  4. 【Flink】FLink 使用EXACTLY_ONCE 报错 FlinkKafkaInternalProducer
  5. setsockopt设置socket状态
  6. 使用旧版本tensorflow出现了negative等报错的问题,AttributeError: 'module' object has no attribute 'xxx'
  7. Caused by: java.lang.ClassNotFoundException: backtype.storm.topology.IRichSpout
  8. Qtalk 0.2.0版本(基于Qt的局域网聊天软件)
  9. 49次全国计算机以及靠,第49次全国计算机等级考试(国考)证书领取的通知
  10. ABBYY FineReader 14安装教程
  11. win2003 开启显示加速
  12. 无法将数值apsdaemon写入键
  13. “一流的科研成果一定是自己研制的仪器做出来的” – 中国科大LB膜实验室的日子...
  14. OneTab下载,chrome插件,crx下载
  15. 微信小程序:获取用户手机号
  16. 初识swipe.js
  17. OpenGL: 圆柱面绘制贴图
  18. unity启动Logo大小的问题
  19. 埃默里大学(Emory University)计算机系招收NLP方向博士生啦~
  20. 利用DISM修复WIN11的系统组件错误

热门文章

  1. 开发环境 测试环境 定义_「PHP7数组详解」:第1章 环境搭建安装(一)
  2. ad16自动布线设置规则_Cadence的allegro下设置阻抗
  3. hdu2155 小黑的镇魂曲(dp)
  4. 【数字信号处理】相关函数 ( 能量信号 | 能量信号的互相关函数 | 能量信号的自相关函数 )
  5. 【数字信号处理】基本序列 ( 单位阶跃序列 | 单位阶跃序列与单位脉冲序列关系 | 矩形序列 | 矩形序列与单位阶跃序列关系 | 矩形序列作用 )
  6. 【C 语言】字符串拷贝 ( 优化指针操作 )
  7. 【EventBus】EventBus 源码解析 ( EventBus 构建 | EventBus 单例获取 | EventBus 构造函数 | EventBus 构建者 )
  8. 【Android 安装包优化】Android 应用中 7zr 可执行程序准备 ( Android Studio 导入可执行 7zr 程序 | 从 Assets 资源文件拷贝 7zr 到内置存储 )
  9. 【Flutter】Flutter 拍照示例 ( Android 应用兼容 Android X | Gradle 版本号 | Gradle 插件版本号 | Android X 支持 | SDK 版本 )
  10. 【计算机网络】数据链路层 : 流量控制 ( “流量控制“ 机制 | 停止-等待协议 | 滑动窗口协议 | 后退 N 帧协议 GBN | 选择重传协议 SR | 滑动窗口 与 流量控制、可靠传输 )