为什么 Python 中的 dir() 函数没有显示所有的可调用属性?
import win32com.client
iTunes = win32com.client.gencache.EnsureDispatch("iTunes.Application")
currentTrack = win32com.client.CastTo(iTunes.CurrentTrack,"IITFileOrCDTrack")
print dir(currentTrack)
结果:
['AddArtworkFromFile', 'CLSID', 'Delete', 'GetITObjectIDs', 'Play', 'Reveal', 'UpdateInfoFromFile', 'UpdatePodcastFeed', '_ApplyTypes_', '__doc__', '__eq__', '__getattr__', '__init__', '__module__', '__ne__', '__repr__', '__setattr__', '_get_good_object_', '_get_good_single_object_', '_oleobj_', '_prop_map_get_', '_prop_map_put_', 'coclass_clsid']
print currentTrack.Location
Location 可调用并返回文件路径,但未在第一个结果中列出。它也没有出现在代码完成工具中。是因为它是通过 getter 方法获取的吗?我看到它列在 _prop_map_get_ 和 _prop_map_put_ 下。
另外,当 currentTrack._prop_map_get_['Location'] 返回“(1610874880, 2, (8, 0), (), 'Location', None)”时,为什么 currentTrack.Location 会返回文件路径?它在哪里获取文件路径字符串?