Почему некоторые вызываемые атрибуты не перечислены функцией dir ()?

Почему функция dir () в Python не отображает все вызываемые атрибуты?

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

Местоположение вызывается и возвращает путь к файлу, но не указано в списке первый результат. Он также не отображается с инструментами завершения кода. Это потому, что он получен с помощью метода получения? Я вижу, что он указан в _prop_map_get_ и _prop_map_put _.

Кроме того, почему currentTrack.Location возвращает путь к файлу, когда currentTrack._prop_map_get _ ['Location'] возвращает "(1610874880, 2, (8, 0), (), 'Location ', Никто)?" Откуда берется строка пути к файлу?

7
задан Ned Batchelder 5 November 2010 в 17:16
поделиться