Python:在⼀个Python程序中,运⾏另⼀个Python程序
学习⾃:
1~3学习⾃
4~6学习⾃
1、os.system⽅法
⽤法:
os.system('python3 xxx.py')
说明:
就相当于在cmd窗⼝中写python3 xxx.py,即运⾏Python程序。
⽀持传递参数
2、execfile('xxx.py')
3、如果想要得到这个⽂件的输出,可以⽤os.popenpython能在手机上运行吗
4、ShellExecute
⽤法:
ShellExecute(hwnd, op, file, args, dir, show)
hwnd⽗窗⼝的句柄,如果没有⽗窗⼝,则为0
op要运⾏的操作,open、print、空
file要运⾏的程序
args传递的参数
dir程序所在⽬录
show是否显⽰窗⼝
例⼦:
import win32api.ShellExecute
ShellExecute(0, 'open', '', '', '', 0) #show=0,后台执⾏
ShellExecute(0, 'open', '', '', '', 1) #前台打开
ShellExecute(0, 'open', '', '1.txt', '', 1)#传⼊参数1.txt
ShellExecute(0, 'open', 'www.sohu', '', '', 1)#打开⽹页
ShellExecute(0, 'open', 'D:\\Opera.mp3', '', '', 1)#打开⾳频⽂件,当路径指向⼀个⽂件时
ShellExecute(0, 'open', 'D:\\hello.py', '', '', 1)#运⾏程序
原理:使⽤ShellExecute函数,相当于在资源管理器中双击⽂件图标,系统会打开相应程序进⾏运⾏。
5、CreateProcess
顾名思义,CreateProcess即创建进程,通过win32process模块中的CreateProcess()函数创建⼀个运⾏相应程序的进程。其函数格式为:CreateProcess(appName,cmdLine,proAttr,threadAttr,InheritHandle,CreationFlags,newEnv,currentDir,Attr)
appName可执⾏⽂件名
cmdLine命令⾏参数
procAttr进程安全属性
threadAttr线程安全属性
InheritHandle继承标志
CreationFlags创建标志
currentDir进程的当前⽬录
Attr创建程序的属性
举例:
win32process.CreateProcess('C:\\Windows\\', '', None, None, 0, win32process.CREATE_NO_WINDOW,
None, None, win32process.STARTUPINFO())
(<PyHANDLE:892>, <PyHANDLE:644>, 21592, 18780)
# 函数返回进程句柄、线程句柄、进程ID以及线程ID
结束进程:win32process.TerminateProcess
TerminateProcess(handle,exitCode)
handle:要操作的进程句柄
exitCode:进程退出代码
补充:该⽅法应该只能打开exe⽂件,打开其他⽂件时会报错
6、使⽤ctypes调⽤kernel32.dll中的函数
使⽤ctypes模块可以让Python调⽤位于动态链接库的函数。可以⽅便地调⽤由C语⾔编写的动态链接库,并向其传递参数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。