如何使用Python的win32com库关闭操作系统应用程序?
用Python win32com库关闭应用程序的正确方式
win32com库的Quit()方法仅能关闭由该库自身创建或关联的应用程序实例,以下通过Excel操作的两个示例对比说明:
无效示例:用os.startfile打开文件后无法关闭
通过os.startfile打开的Excel进程,和win32com创建的实例没有关联,调用Quit()不会产生任何效果:
import os import win32com.client as win32 excel = win32.Dispatch("Excel.Application") os.startfile(r'C:\asdf.xlsx') # 打开Excel文件 print(excel.Workbooks.Count) # 输出:0,实例未关联该文件 excel.Quit() # 无任何作用
有效示例:用win32com自身方法打开文件后可正常关闭
通过win32com的Workbooks.Open()方法打开文件,文件会关联到当前创建的Excel实例,此时调用Quit()就能正常关闭整个Excel应用:
import os import win32com.client as win32 excel = win32.Dispatch("Excel.Application") excel.Workbooks.Open(r'C:\asdf.xlsx') # 打开Excel文件 print(excel.Workbooks.Count) # 输出:1,实例已关联该文件 excel.Quit() # 正常关闭Excel应用
内容的提问来源于stack exchange,提问作者kjj
相关产品推荐
相关产品推荐

