Как получить путь импортируемого файла в Python (если __name__ == __main__ и Pytest) - PullRequest
0 голосов
/ 01 декабря 2018

Я нашел довольно много ответов об импортированных файлах (модулях).

Однако как я могу получить имя импортирующего файла из модуля?

Мой мотив основан на файле Pytest'а (который импортируетсятестовый файл), который имеет условие if __name__ == __main__, которое препятствует выполнению его кода из тестового файла.

Идея состоит в том, чтобы развернуть условие в нечто вроде: if __name__ == __main__ or 'test' in __importing_name__

Это постоянная проблема с Pytest?Что было бы лучшим способом справиться с этим?

Заранее благодарим за любые предложения!

1 Ответ

0 голосов
/ 01 декабря 2018

Модуль может определить, какой модуль импортировал его, используя модуль __main__:

import __main__
if hasattr(__main__, '__file__'):
    print 'The module %s imported me' % __main__.__file__
...