簡體   English   中英

Python win32com不知道模塊的名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM