首先,请原谅我的任何不一致的瓷砖的这个问题。它可能有一些,但真的不知道更好。

这个问题提出了在上下文的控制的iTunes通过COM从蟒蛇。

>>> itunes = win32com.client.Dispatch("iTunes.Application")
>>> itunes
<win32com.gen_py.iTunes 1.12 Type Library.IiTunes instance at 0x27248400>
>>> lib = itunes.LibraryPlaylist
>>> lib
<win32com.gen_py.iTunes 1.12 Type Library.IITLibraryPlaylist instance at 0x27249880>

什么我想要做的是找回'IiTunes'从itunes和'IITLibraryPlaylist'从lib。我已经尝试类型(itunes)和类型(lib),但他们都只有返回","这不是我期待的。

谢谢。

有帮助吗?

解决方案

不幸的是我手头没有Windows机器可以尝试,但我认为 itunes .__ class __ itunes 对象的(old_style)类,而 lib .__ class __ lib 。因此,查看类的 __ name __ 属性应该可以满足您的需求。

遗憾的是,这些是旧式的类(因此 type(...)无法正常工作),但win32com已经存在了很长时间,从闪亮的新版本开始 - 样式类诞生于Python 2.2中,所以它完全可以理解,我认为; - )。

其他提示

这主要原因错误的属性是因为你COM-服务器已经转移到结合(动态),以早日结合(静态)。

  • 在延迟结合,每当一方法是所谓的目的是查询方法以及如果成功,那么呼叫。
  • 在早期的结合,信息对象的模式是预先确定的类型提供的信息对象的话。早结合使用的MakePy.此外,早期的结合是情况的敏感性。

尝试:

itunes = win32com.client.dynamic.Dispatch("iTunes.Application")

这将迫使COM服务器上设置重点放在动态的模块,它应该给你的只有COM目的iTunes。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top