Как получить файл, в котором определена функция, если у вас есть только класс, которому функция ограничена? - PullRequest
0 голосов
/ 06 марта 2020

У меня есть функция (foo) и класс (Bar), который принимает функцию в качестве атрибута func.

, если я передаю foo экземпляру Bar он может определить, что func является foo т.е.

def foo():
     pass

class Bar:
    def __init__(self, func):
         self.func = func

c = Bar(foo)

print(c.func.__name__)
>> foo

print(c.func)
>> <function foo at 0x7ffa86063290>

Если foo определен в отдельном файле, чем Bar, возможно ли извлечь __file__ из того, где определено foo?

Я пытался:

print(c.func.__file__)

, но получил:

`AttributeError: 'function' object has no attribute '__file__'`

1 Ответ

1 голос
/ 06 марта 2020

нашел то, что мне было нужно в модуле inspect:

print(inspect.getfile(c.func))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...