关于pywin32引起python应用退出时c0000005错误的分析和解决

关于pywin32引起python应用退出时c0000005错误的分析和解决

本来准备用pywin32的win32com模块解决一些office自动化的问题。

用了简单的tkinter,里面用到了win32ui的对话框,然后发现mainloop退出后结束运行时报两次c0000005错误。

单个注释引用模块,确定出现在对win32ui的引用问题上。

查阅了stackoverflow,有一篇文章涉及:

Why script doesn't quit if win32ui is imported

https://stackoverflow.com/questions/10467225/why-script-doesnt-quit-if-win32ui-is-imported#

里面说由于一个pywin32的bug引起,这和我的推测一致。我是用的是win7的64位平台+python3.6,但看来还是有问题

解决方法是不使用win32ui的模块,对话框使用from tkinter import filedialog模块替代,还可以提高跨平台能力,这个模块在之前的版本是tkfiledialog,引用位置也有所变化。