如何在Python中获取模块的名称,调用特定的函数。

时间:2014-03-18 18:45:49

标签: python function module directory operating-system

有没有办法找出哪个文件正在调用函数? (类似于os.path.basename(__file__)

计划结构:

  • module包含有问题的功能

该计划的其他地方:

import modulex as mx

mx.function(arg1,arg2)

我需要一个通用功能来告诉我程序中其他地方的文件'是。

2 个答案:

答案 0 :(得分:2)

您可以尝试追溯模块:

import traceback
currentStack=traceback.extract_stack()

currentStack变量将保存从当前代码调用的文件名列表。

答案 1 :(得分:0)

如果你的行为取决于调用函数的文件,也许你应该向函数传递一个额外的参数,指出它?

在python中,显式解决方案被认为是最好的 - 具有依赖于调用者的行为是不明确的。

如果您确实有充分的理由需要这样做,您可能需要查看traceback module