其中定义了python变量

时间:2012-12-17 14:58:13

标签: python variables

有没有办法知道在python中定义变量的位置(例如文件名)?

我遇到了以下问题:在项目的源文件之一中,有一个“打印变量”语句,并且该文件中没有定义变量,我无法找到它定义变量的位置。 / p>

2 个答案:

答案 0 :(得分:2)

不,不是变量。变量只是对任意python对象的引用,如果你能找到变量,你就找到了它所定义的函数,类或模块。

我怀疑你想知道在哪里定义了python 对象;对于可以从对象的.__file__属性确定的许多对象。对于类,您必须首先遍历它的模块,方法,遍历它的函数,函数,查找它的代码对象,代码对象,使用它们的.co_filename属性等。

或使用getsourcefile() function自动执行该过程:

>>> import inspect
>>> inspect.getsourcefile(inspect.getsourcefile)
'/usr/lib/python2.6/inspect.py'

答案 1 :(得分:0)

您可以使用inspect模块获取定义对象的信息:http://docs.python.org/2/library/inspect.html#inspect.getsourcefile