python怎么调用其他软件,python程序调用另一个python程序

  python怎么调用其他软件,python程序调用另一个python程序

  在Python中,使用os模块来运行其他脚本或程序是很方便的,这样其他脚本或程序提供的功能就可以直接在脚本中使用,而不必重新编写代码来实现这些功能。为了更好地控制运行进程,可以使用win32process模块中的函数。如果你想进一步控制这个过程,你可以使用ctype模块直接调用kernel32.dll中的函数。下面介绍四种方式:

  1.os.system()函数

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

  OS。System (Command): Command3360要执行的命令。如果要向脚本传递参数,可以用空格分割程序和多个参数。

  示例:

  #打开记事本

  操作系统(“记事本”)

  #用记事本打开aa.txt

  OS . system( notepad aa . txt )# aa . txt文件必须在当前程序目录中。

  #直接打开aa.txt

  操作系统( aa.txt )

  #直接打开Excel文件

  操作系统( aa.xlsx )

  #直接打开Word文件

  操作系统( bb.docx )

  Path= test.xlsx

  #打开包含中文的文件。

  OS . system(file path . decode( utf8 )。encode (gbk)) 2、ShellExecute函数

  使用win32api模块中的ShellExecute()函数运行其他程序,格式如下

  ShellExecute(hwnd,op,file,args,dir,show)

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

  Op:要运行的操作是open、print或empty。

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

  Args:要传递给程序的参数,如果打开了文件,则为null。

  目录由dir :程序初始化

  show:显示窗口吗?

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

  导入win32api

  Win32.shellexecute (0, open , notepad.exe ,,,0) #后台执行

  Win32.shellexecute (0, open , notepad.exe ,,,1) #前台打开

  Win32.shellexecute (0, open , notepad.exe , wmi.txt ,,1) #打开一个文件

  Win32 API.shellexecute (0, open , iexplore.exe ,,,1) #打开IE浏览器

  Win32.shellexecute (0, open , iexplore.exe , 3359 www.baidu.com/,,1)#用IE浏览器打开百度网址

  Win32.shellexecute (0, open , mspaint.exe , wxqr.png ,,1) #打开图片wxqr.png3,用系统附件附带的绘图创建进程。

  创建流程:

  为了控制通过脚本运行的程序,可以使用win32process模块中的CreateProcess()函数创建一个运行相应程序的进程。它的函数格式是3360。

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

  AppName:可执行文件名称

  命令行:命令行参数

  ProcAttr:流程安全性属性

  ThreadAttr:线程安全属性

  InheritHandle:继承标志

  CreationFlags:创建标志

  CurrentDir:进程的当前目录

  Attr:创建程序的属性。

  结束流程:

  可以使用win32进程。TerminateProcess函数来结束创建的进程。函数格式如下:3360

  TerminateProcess(handle,exitCode)

  Handle:要操作的进程句柄。

  代码:进程退出代码。

  或者使用win32event。WaitForSingleObject等待创建的线程结束。函数格式如下:

  WaitForSingleObject(句柄,毫秒)

  Handle :要操作的进程的句柄。

  毫秒:等待时间,如果是-1,就一直等。

  导入win32进程

  #打开记事本并获取其句柄。

  handle=win32process。CreateProcess(r c : \ Windows \ notepad . exe ,,None,None,0,win32process。CREATE_NO_WINDOW,None,None,win32process。STARTUPINFO())

  时间.睡眠(4)

  #终止流程

  win32进程。TerminateProcess(句柄[0],0)

  导入win32事件

  #等待过程结束

  打印32事件。WaitForSingleObject(句柄[0],-1) 4。使用ctypes调用kernel32.dll中的函数。

  ctypes模块允许Python调用位于动态链接库中的函数。

  Ctypes模块为Python提供了调用动态链接库中函数的功能。ctypes模块可以方便地调用C语言编写的动态链接库,并向其传递参数。

  Ctypes模块定义了C语言中的基本数据类型,可以实现C语言中的结构和关联。Ctypes模块可以在Windows、Linux、Mac OS等操作系统下工作,基本实现了跨平台。

  示例:

  Windows在user32.dll调用MessageBoxA函数。

  从ctypes导入*

  user32=windll。LoadLibrary(user32.dll )

  a=用户32。MessageBoxA(0,str.encode(Hello Ctypes!),str.encode(Ctypes ),0)

  打印一份

  更多Python相关技术文章,请访问Python教程专栏学习!这就是python调用其他程序的细节。更多信息请关注热门IT软件开发工作室其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 浅谈python程序的错误-变量未定义的原因,浅谈python程序的错误-变量未定义为
  • 浅谈python程序的错误-变量未定义的原因,浅谈python程序的错误-变量未定义为,浅谈Python程序的错误-变量未定义
  • Python程序设计与算法基础教程,python算法指南
  • Python程序设计与算法基础教程,python算法指南,Python常用算法学习基础教程
  • ,,8个实用的Python程序你知道几个
  • python程序打包成exe可执行文件,python程序打包成exe后的 运行速度
  • python流程管理,Python程序开发流程
  • Python程序开发案例教程,python程序设计案例实践教程
  • python编程基础与案例集锦,python程序代码实例
  • python程序设计实例教程董付国课后答案,python程序设计第三版董付国
  • 如果在python程序中没有导入相关模块,python外部模块不用导入可以直接使用
  • Python程序语言设计基础,Python编程设计
  • python程序语言的特点,Python编程的特点
  • python程序编写,python编程求素数
  • python向服务器发送数据,python程序如何在服务器部署
  • 留言与评论(共有 条评论)
       
    验证码: