博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Python调用外部可执行文件并传入参数

Posted on 2022-07-15 18:16  通宵的达旦  阅读(1351)  评论(0)    收藏  举报

需求:要用gprMax2D.exe去仿真大量的探地模型,但是一个个输入模型文件路径不太现实,而且还要改模型参数,所以需要通过python去更改模型,然后自己调用exe去仿真

方法:

import win32api
win32api.ShellExecute(0, 'open', r'D:\400M\gprMax2D.exe', r'C:\Users\Yolo-m\Desktop\1.in', '', 1)
函数说明:
HINSTANCE ShellExecute( 
           HWND hwnd, //用于指定父窗口的句柄。当函数调用过程中出现错误时,它将作为Windows消息窗口的父窗口
           LPCTSTR lpOperation,// 用于指定要进行的操作,当参数为NULL时,默认操作"open".
                              //"open",表示执行由lpFile参数指定的程序,或者打开由lpFile参数指定的文件或文件夹。
                              //"explort",表示打开由lpFile参数指定的文件夹。 "print",表示打印由lpFile参数指定的文件。
           LPCTSTR lpFile, // 若lpFile参数是一个可执行文件,则此参数指定命令行参数,否则此参数应设为NULL。
           LPCTSTR lpParameters, //参数
           LPCTSTR lpDirectory, // 用于指定默认目录
           INT nShowCmd //0,不显示窗体   1,正常显示窗体,一般用这两个
       );

当然还有其他方法,但是个人认为这种最简单明了,传一个可执行文件路径和一个参数值即可。