- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PYTHON 调用程序
在Python 中可以方便地使用os模块运行其他的脚本或者程序 ,这样就可以在
脚本中直接使用其他脚本 ,或者程序提供的功能 ,而不必再次编写实现该功能的
代码 。为了更好地控制运行的进程 ,可以使用win32process模块中的函数 。
如果想进一步控制进程 ,则可以使用ctype模块 ,直接调用kernel32.dll 中的
函数 。
1 使用os.system 函数运行其他程序
2 使用ShellExecute 函数运行其他程序
3 使用CreateProcess 函数运行其他程序
4 使用ctypes 调用kernel32.dll 中的函数
1 使用os.system 函数运行其他程序
os模块中的system()函数可以方便地运行其他程序或者脚本 。其函数原型如下所示 。
os.system(command)
其参数含义如下所示 。
command 要执行的命令 ,相当于在Windows 的cmd窗口中输入的命令 。如果要向程序或
者脚本传递参数 ,可以使用空格分隔程序及多个参数 。
以下实例实现通过os.system()函数打开系统的记事本程序 。
import os
# 使用os.system()函数打开记事本程序
os.system(notepad)
0 # 关闭记事本后的返回值
# 向记事本传递参数 ,打开python.txt文件
os.system(notepad python.txt)
2 使用ShellExecute 函数运行其他程序
除了使用os模块中的os.system()函数以外 ,还可以使用win32api模块中的ShellExecute()
函数 。其函数如下所示 。
ShellExecute(hwnd,op ,file , params ,dir , bShow )
其参数含义如下所示 。
hwnd :父窗口的句柄 ,如果没有父窗口,则为0 。
op :要进行的操作 ,为“open” 、“print”或者为空 。
file :要运行的程序 ,或者打开的脚本 。
params :要向程序传递的参数 ,如果打开的为文件 ,则为空 。
dir :程序初始化的目录 。
bShow :是否显示窗口。
以下实例使用ShellExecute 函数运行其他程序 。
import win32api
# 打开记事本程序 ,在后台运行 ,即显示记事本程序的窗口
win32api.ShellExecute(0,open,notepad.exe,,,0)
# 打开记事本程序 ,在前台运行
win32api.ShellExecute(0,open,notepad.exe,,,1)
# 向记事本传递参数 ,打开python.txt
win32api.ShellExecute(0,open,notepad.exe,python.txt,,1)
# 在默认浏览器中打开 网站
win32api.ShellExecute(0,open,,,,1)
# 在默认的媒体播放器中播放E:\song.wma
win32api.ShellExecute(0,open,E:\\song.wma,,,1)
# 运行位于E:\book\code 目录中的MessageBox.py 脚本
win32api.ShellExecute(0,open,E:\\book\\code\\MessageBox.py,,,1)
可以看出 ,使用ShellExecute 函数 ,就相当于在资源管理器中双击文件图标一样 ,系统会
打开相应的应用程序执行操作 。
3 使用CreateProcess 函数运行其他程序
为了便于控制通过脚本运行的程序 ,可以使用win32process模块中的CreateProcess()函
数 。其函数原型如下所示 。
CreateProcess(appName, commandLine ,
processAttributes ,
threadAttributes ,bInheritHandles ,
dwCreationFlags ,newEnvironment ,
currentDirectory , startupinfo )
其参数含义如下 。
appName :可执行的文件名 。
commandLine :命令行参数 。
文档评论(0)