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

Max*_*rai 30 python filenames

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

And*_*are 30

以下是每个例子:

from inspect import stack

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

f = Foo()
Run Code Online (Sandbox Code Playgroud)

  • 您是否尝试从命令行运行它?显然当时没有定义; 尝试使用代码创建一个文件并执行python文件名 - 它将按预期工作. (2认同)
  • 为什么不检查.currentframe? (2认同)

mta*_*c85 10

import sys

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

a = A()
Run Code Online (Sandbox Code Playgroud)