如何使用Python获取当前文件,当前类和当前方法?

时间:2009-05-21 17:24:00

标签: python filenames

  • 运行代码的文件的名称
  • 运行代码的类的名称
  • 代码运行的方法名称(类的属性)

4 个答案:

答案 0 :(得分:30)

以下是每个例子:

from inspect import stack

class Foo:
    def __init__(self):
        print __file__
        print self.__class__.__name__
        print stack()[0][3]

f = Foo()

答案 1 :(得分:9)

import sys

class A:
    def __init__(self):
        print __file__
        print self.__class__.__name__
        print sys._getframe().f_code.co_name

a = A()

答案 2 :(得分:5)

答案 3 :(得分:3)

非常小心。考虑:

class A:
    pass

B = A
b = B()

这里b的'班级名称'是什么?是A还是B?为什么呢?

关键是,你不应该知道或关心。对象就是这样的:它的名字很少有用。