代码之家  ›  专栏  ›  技术社区  ›  00__00__00

确定在python中定义函数的文件

  •  0
  • 00__00__00  · 技术社区  · 8 年前

    我正在用python编程输出一个函数列表。 我可以从 名称

    for ifunc,func in enumerate(list_of_functions):
        print(str(ifunc)+func.__name__)
    

    如何获取定义函数的源文件名?

    如果函数是对象的属性,如何得到父对象的类型?


    可移植性python2/3是必须的

    4 回复  |  直到 8 年前
        1
  •  2
  •   Smart Manoj AlexP    8 年前
    func.__module__
    

    将返回定义的模块

    func.__globals__['__file__']
    

    将返回定义文件的整个路径。仅用于用户定义的函数

        2
  •  1
  •   Ran Sasportas    8 年前

    只需使用-

    print(os.path.basename(__file__))
    

    如果需要完整的文件路径,可以使用

    print __file__
    
        3
  •  1
  •   Moberg    8 年前

    如前所述 https://docs.python.org/3/library/inspect.html func.__globals__ 返回定义函数的全局命名空间。

        4
  •  0
  •   AlexShein    8 年前

    你可以用 __file__ 变量。

    print(__file__)