我把群益 api 2.13.9 升級成2.13.11 後,python comtypes 某些功能無作用。今天終於發現問題所在:
import comtypes.client as cc
cc.GetModule('C:\SKCOM\x86\SKCOM.dll')
GetModule 這一步會在 comtypes資料夾下自動產生一個 gen 資料夾,裡面有comtypes 生成的 skcom 相關的.py 檔。 第一次呼叫後會再產生一個__pycache__資料夾,並將這些code編譯成 .pyc 檔加速運行速度。
我的comtypes資料夾路徑,給大家參考,可以去相關路徑下找找
Python\Lib\site-packages\comtypes\gen
問題似乎就在這哩,當把api升級後,重新呼叫 GetModule 後,python並沒有重新編譯。因此我把 __pycache__ 裡相關的 .pyc 刪除後,再重新呼叫 GetModule ,新版的 api 就又可以正確執行了。
沒有留言:
張貼留言