显示导入器的详细信息

时间:2012-08-17 14:09:59

标签: python import

在Django中,我有一个发布折旧警告的软件包(django.views.generic.simple)。如果这个警告描述了进行导入的话会很有用,所以编码人员可以进入并更改文件,而无需单步执行代码来查找它。

所以一般情况是

#file1.py
import file2.py

#file2.py
import warnings
warnings.warn(
'Package deprecated: imported from %s' % __importer__,
DeprecationWarning
)

其中__importer__是一个包含“file1.py”的虚构属性,或某些此类引用。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:6)

是的,这是通过使用stacklevel warnings.warn参数来完成的。有关详细信息,请参阅documentation中的示例。