[英]Python win32com don't know name of module
當我在pythonwin中查看COM瀏覽器時,我正在尋找一個python Zune(Windows媒體事物)api。 我找到了一個名為ZuneWmdu Type Library(1.0)的東西。 我在lib上使用了makepy,它生成了一個文件
9FE20C05-81CE-46D7-9C56-FD97A865BBB8x0x1x0.py
在
python 2.7.3\Lib\site-packages\win32com\gen_py
我不知道要傳遞什么
win32com.client.gencache.EnsureDispatch('???')
我試着打電話
win32com.client.gencache.EnsureDispatch('9FE20C0581CE46D79C56FD97A865BBB8')
導致異常(pywintypes.com_error)
(.py文件的x0x1x0部分似乎無關)
我試過同樣的
win32com.client.gencache.GetModuleForCLSID('9FE20C05-81CE-46D7-9C56-FD97A865BBB8')
and
win32com.client.gencache.GetModuleForProgID('9FE20C0581CE46D79C56FD97A865BBB8')
兩者都返回無。 我被困在這里,我需要找到所謂的庫(對於itunes,你會打電話:
win32com.client.gencache.EnsureDispatch('iTunes Application')
例如)或如何使用GUID調用模塊
甚至有人告訴我,我做錯了什么。
可以在生成的文件的注釋中找到pythoncom.ProgIDFromCLSID
的名稱(它們基於來自pythoncom.ProgIDFromCLSID
的信息)。
我沒有Zune,但是,如果,例如我跑
win32com.client.gencache.EnsureModule('{420B2830-E718-11CF-893D-00A0C9054228}', 0, 1, 0)
這將生成一個名為420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py
的文件,我可以從中找出相關名稱:
C:\Users\username\AppData\Local\Temp\gen_py\3.6>grep 'known by' *.py
420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py:# This CoClass is known by the name 'Scripting.Dictionary'
420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py:# This CoClass is known by the name 'Scripting.Encoder'
420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py:# This CoClass is known by the name 'Scripting.FileSystemObject'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.