2017年8月1日 星期二

comtypes error 'tuple' object has no attribute '__ctypes_from_outparam__'

最近使用comtypes 需要使用到pythoncom功能,可以用
pip install pypiwin32

這樣就會附帶安裝pythoncom了

#2018年更新,這個問題在 comtypes 1.1.4 版中已經被修正了
使用comtypes 有時候會出現

comtypes 裡的 __init__.py  第 658 行程式碼做些修改可以修正這個bug
路徑大概類似這樣
~python\Lib\site-packages\comtypes\__init__.py
    657             # be iterable.
    658             if len(outargs) == 1:  # rescode is not iterable
--> 659                 return rescode.__ctypes_from_outparam__()
    660 
    661             rescode = list(rescode)
改成
            # be iterable.
            if len(outargs) == 1:  # rescode is not iterable
                try:
                    return rescode.__ctypes_from_outparam__()
                except: #somtimes rescode is tuple
                    return rescode

            rescode = list(rescode)

即可修正


Ref:



沒有留言:

張貼留言