python中不可以使用类名访问的是_如何在Python中访问当前执行的模块或类名?

我想能够从导入的模块中动态地检索当前执行的模块或类名。这是一些代码:

foo.py:

def f():

print __name__

bar.py:

from foo import f

def b(): f()

这显然不起作用__name__是包含该函数的模块的名称。我想在foo模块中访问的是使用foo的当前执行模块的名称。所以在上面的情况下,它将是bar,但如果任何其他模块导入foo,我希望foo动态地访问该模块的名称。

编辑:检查模块看起来相当有希望,但它不是我正在寻找的。我所希望的是一些可以访问的全局或环境级变量,它将包含当前执行模块的名称。不是我不愿意遍历堆栈来找到这些信息 – 我只是认为Python可能已经暴露了这些数据。

编辑:这是我如何使用这个。我有两个不同的Django应用程序,它们都需要将错误记录到文件中。让我们说他们被称为“AppOne”和“AppTwo”。我也有一个我想要记录这些文件的地方:“/ home / hare / app_logs”。在任何给定点的每个应用程序中,我希望能够导入我的记录器模块,并调用将日志字符串写入文件的日志功能。但是我想做的是在app_logs下创建一个目录,该目录是当前应用程序(“AppOne”或“AppTwo”)的名称,以便每个应用程序的日志文件将进入其各自的日志目录。

为了做到这一点,我认为最好的办法是让记录器模块访问一些表示当前应用程序名称的全局变量,因为它负责了解父记录目录的位置并创建应用程序的记录目录,如果它还不存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值