Как получить исходный код свойства в Python - PullRequest
3 голосов
/ 19 июня 2019

Я хочу программно получить исходный код для данного свойства класса (например, pandas.DataFrame.iloc). Я попытался использовать inspect.findsource(), который отлично работает для классов и функций. Тем не менее, это не работает для свойств.

import pandas
import inspect

type(pandas.DataFrame) # type
inspect.findsource(pandas.DataFrame)  # works ok

type(pandas.DataFrame.apply) # function
inspect.findsource(pandas.DataFrame.apply)  # works ok

type(pandas.DataFrame.iloc) # property
inspect.findsource(pandas.DataFrame.iloc) # throws exception
TypeError: module, class, method, function, traceback, frame, or code object was expected, got property

Почему inspect не может найти источник для свойства? Как программно получить исходный код (или путь к исходному файлу) для данного свойства?

...