如何在Python中获取导入文件的路径(如果__name__ == __main__和Pytest)

时间:2018-12-01 15:11:30

标签: python import module pytest

我发现了很多有关导入文件(模块)的答案。

但是,如何从模块中获取 importing 文件的名称?

我的动机是由Pytest驱动具有if __name__ == __main__条件的文件(由测试文件导入),该条件阻止了从测试文件中执行其代码。

想法是将条件扩展为类似以下内容: if __name__ == __main__ or 'test' in __importing_name__

Pytest是否经常出现此问题?处理该问题的最佳做法是什么?

提前感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

一个模块可以使用__main__模块来告诉哪个模块导入了它:

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