在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码。为了更好地控制运行的进程,可以使用win32process模块中的函数,如果想进一步控制进程,则可以使用ctype模块,直接调用kernel32.dll中的函数.

【方式一】使用os.system()函数运行其他程序

os模块中的system()函数可以方便地运行其他程序或者脚本,模式如下:

os.system(command)

command: 要执行的命令,如果要向脚本传递参数,可以使用空格分割程序及多个参数。

示例如下:

>>> import os

>>> os.system('notepad') # 打开记事本程序.

0

>>> os.system('notepad 1.txt') # 打开1.txt文件,如果不存在,则创建.

0

【方式二】使用ShellExecute函数运行其他程序除了使用os.system()函数外,还可以使用win32api模块中的ShellExecute()函数来运行其他程序,格式如下:ShellExecute(hwnd, op, file, args, dir, show)

hwnd: 父窗口的句柄,如果没有父窗口,则为0

op : 要运行的操作,为open,print或者为空

file: 要运行的程序,或者打开的脚本

args: 要向程序传递的参数,如果打开的是文件则为空

dir : 程序初始化的目录

show: 是否显示窗口

示例如下:

>>> import win32api

>>> win32api.ShellExecute(0, 'open', 'notepad.exe', '', '', 0) # 后台执行

>>> win32api.ShellExecute(0, 'open', 'notepad.exe', '', '', 1) # 前台打开

>>> win32api.ShellExecute(0, 'open', 'notepad.exe', '1.txt', '', 1) # 打开文件

>>> win32api.ShellExecute(0, 'open', 'http://www.sohu.com', '', '', 1) # 打开网页

>>> win32api.ShellExecute(0, 'open', 'D:\Opera.mp3', '', '', 1) # 播放视频

>>> win32api.ShellExecute(0, 'open', 'D:\hello.py', '', '', 1) # 运行程序

使用ShellExecute函数,就相当于在资源管理器中双击文件图标,系统会打开相应程序运行。

NOTE:

win32api安装 http://sourceforge.net/projects/pywin32/files/pywin32/ 因我的是64的操作系统,所以下载了这个:pywin32-216.win-amd64-py2.7

【方式三】使用ShellExecute函数运行其他程序创建进程:为了便于控制通过脚本运行的程序,可以使用win32process模块中的CreateProcess()函数创建

一个运行相应程序的进程。其函数格式为:

CreateProcess(appName, cmdLine, proAttr, threadAttr, InheritHandle, CreationFlags, newEnv, currentDir, Attr)

appName 可执行文件名

cmdLine 命令行参数

procAttr 进程安全属性

threadAttr 线程安全属性

InheritHandle 继承标志

CreationFlags 创建标志

currentDir 进程的当前目录

Attr 创建程序的属性

示例如下:

>>> win32process.CreateProcess('C:\Windows\notepad.exe', '', None, None, 0, win32process.CREATE_NO_WINDOW,

None, None, win32process.STARTUPINFO())

(

python运行软件-Python中四种运行其他程序的方式相关推荐

  1. JavaScript中四种不同的属性检测方式比较

    JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //fa ...

  2. python语言只有一种运行方式_Python中四种运行其他程序的方式

    在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32proc ...

  3. anaconda怎么运行python程序_Python中四种运行其他程序的方式,你知道吗?

    前言 在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32p ...

  4. python运行程序-Python中四种运行其他程序的方式

    在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32proc ...

  5. spark四种运行模式

    spark的核心组件 1.1Driver Spark 驱动器节点,用于执行 Spark 任务中的 main 方法,负责实际代码的执行 工作.Driver 在 Spark 作业执行时主要负责: 1.1. ...

  6. python锁_Python中四种锁的使用示例(代码)

    本篇文章给大家带来的内容是关于Python中四种锁的使用示例(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Lock互斥锁 使用前num = 0 def a(): globa ...

  7. python的布尔判断和四种循环语句

    python的布尔判断和四种循环语句 一.布尔运算的三种方式 (一)两个数值/字符串做比较 (二)直接用数值做运算 (三)布尔值之间的运算 (四)布尔值与While.if 二.四种循环语句 (一)br ...

  8. 如何打开python的交互窗口-Python多版本情况下四种快速进入交互式命令行的操作技巧...

    原标题:Python多版本情况下四种快速进入交互式命令行的操作技巧 因为工作需求或者学习需要等原因,部分小伙伴的电脑中同时安装了Python2和Python3,相信在Python多版本的切换中常常会遇 ...

  9. Perl,Python,Ruby,Javascript 四种脚本语言比较

    Perl 为了选择一个合适的脚本语言学习,今天查了不少有关Perl,Python,Ruby,Javascript的东西,可是发现各大阵营的人都在吹捧自己喜欢的语言,不过最没有争议的应该是Javascr ...

最新文章

  1. 自编码clone图解
  2. (Oracle学习笔记) sql语言
  3. 只腐蚀毛刺 腐蚀算法_避坑干货!8大卫浴五金选购指南,只买对的不买贵的
  4. EL中的param和params
  5. jQuery随笔1-CDN加载
  6. RocketMQ源码解析-Consumer启动(2)
  7. winform中DataGridview数据绑定时格式化文本,如:将部分文字改成绿色,部分文字改成红色...
  8. 偶然翻开旧日记本,发现了好多的情诗(三)!!!!
  9. oracle 给用户授权
  10. 深入Linux文件系统
  11. 如何清除Excel2007中的网格线?
  12. 网络爬虫-抓取酷航机票信息
  13. backtrader的回测结果之Bokel quantstats backtrader_plotting btplotting
  14. cmake的-G 参数
  15. 关于EVE模拟器思科交换机无法启动问题
  16. Log4j写日志文件使用详解
  17. 如何在阿里云服务器构建discuz论坛(快速lamp架构)
  18. MySQL 8.0.13安装教程(windows 64位)
  19. 关于计算机、数据的存储单位(bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB)
  20. signature=839c980ea2bb48be66699d26946b8c01,3922张仅包含车牌的图片,图片名字表示车牌号码...

热门文章

  1. 经典排序算法之直接选择排序
  2. BZOJ2877 NOI2012魔幻棋盘(二维线段树)
  3. MySql -- 数据结构
  4. C语言指针数组和数组指针
  5. webdriver--单选、复选及下拉框的定位
  6. iOS获取键盘的高度
  7. 关于计算机中 原码, 反码, 补码 详解
  8. 羊皮卷的实践-第二十一章
  9. [日期工具分享][Shell]为特定命令依次传入顺序日期执行
  10. 修改Centos7默认yum源为阿里云源