本文實例講述了Python實現運行其他程序的四種方式。分享給大家供大家參考,具體如下:
在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()函數創建
新聞熱點
疑難解答