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

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”)的名称,以便每个应用程序的日志文件将进入其各自的日志目录。

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

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

  1. python中的文件父路径怎么表达_如何在Python中访问父目录

    所以我有一个朋友给我的Python脚本,但是我没有Python的经验.代码如下:from os import path, chdir, listdir, mkdir, getcwd from sys ...

  2. python中的文件父路径怎么表达_python中的文件父路径怎么表达_如何在Python中访问父目录...

    所以我有一个朋友给我的Python脚本,但是我没有Python的经验.代码如下:from os import path, chdir, listdir, mkdir, getcwd from sys ...

  3. python的内置数据结构可变不可变_如何在Python中实现不可变的数据结构?

    问题 您需要在Python中实现不可变的数据结构. 介绍.. 当您要防止多个人同时在并行编程中修改一条数据时,不可变数据结构非常方便.可变数据结构(例如Array)可以随时更改,而可变数据结构则不能更 ...

  4. python中斜杠加引号什么意思_如何在Python中转义反斜杠和单引号或双引号?

    你是怎么做到的 如果你的"长字符串"是从文件中读取的(正如你在评论中提到的),那么你的问题是误导性的.因为你显然不完全理解逃逸的工作原理,所以你写下的问题可能与你真正的问题不同. ...

  5. python中离散数据插到格点_如何在python中将2D数据插值(或映射)到规则的齐次网格(如250x250)...

    我正在努力将两个1D数组插值到常规的2D网格中.在A = [[ 193.05 192.55 192.06 ..., 191.21 190.73 190.26] [ 193.05 192.55 192. ...

  6. python从数据库取数据 显示字段名_如何在python中将SQL数据库中的字段名放入列表中...

    以下是我目前掌握的代码:from ConfigParser import * import MySQLdb configuration = ConfigParser() configuration.r ...

  7. python标准库math中用来计算平方根_如何在python中计算平方根?

    这可能是晚了一点回答,但最简单而准确的方法来计算平方根是牛顿的方法. 你有一个数字,你想要计算它的平方根(num),你猜它的平方根(estimate).估计值可以是大于0的任何数字,但有意义的数字会显 ...

  8. hdfs中与file数组类似的数组_如何在 JavaScript 中克隆数组

    作者:Yazeed Bzadough 译者:allen JavaScript 有很多方法可以做任何事情,现在我们研究数组. 1.扩展运算符(浅拷贝) 自从 ES6 发布以来,这一直是最受欢迎的方法.这 ...

  9. excelexportentity中设置null不显示的方法_如何在 Creator3D 中切换模型贴图,超级简单!...

    效果预览 前两天有伙伴在 QQ 上询问,如何在 Creator 3D 中切换模型贴图.Shawn 之前也没尝试过,不过根据之前 Cocos Creator 的经验以及这几天对 Creator 3D 的 ...

最新文章

  1. discuz在线人数的实现原理(Discuz6.1.0)
  2. java随机数转换_Java获取随机数的3种方法(转)
  3. Boost:有序的bimap双图的测试程序
  4. 使用上下文属性将C ++对象嵌入QML
  5. MyEclipse下Axis2插件的下载和安装
  6. 牛客练习赛74 D CCA的图
  7. 哥大计算机专业 世界排名,哥伦比亚大学计算机科学硕士排名第16(2020年TFE Times排名)...
  8. 关于解决Server Tomcat v9.0 Server at localhost failed to start的问题
  9. 使用Lucene检索文档中的关键字
  10. Theatre.js 动画JavaScript库
  11. CC2540开发板学习笔记(五)——串口通信
  12. ios获取设备手持方向——电子罗盘
  13. 一文看懂中国的金融体系
  14. 过孔在覆铜后不出现十字孔
  15. 永久免费的数据库防火墙(堡垒机)
  16. 你这么真诚,一定是骗子!
  17. STM32 的图形加速器 DMA2D
  18. 录音、上传、播放音频微信小程序实践
  19. 怎么用计算机求称呼,亲戚关系称呼神器 三姑六婆计算器
  20. 【linux系统故障】- Error getting authority: Error initializing authority: Could not connect: No such file

热门文章

  1. 神经网络开始设计字体,可根据“矢量字体”变换大小写
  2. JavaScript同步和异步
  3. Linux命令j解释之cp
  4. ip8plus多重_【苹果 iPhone 8 Plus 手机使用总结】容量|处理器|手感_摘要频道_什么值得买...
  5. ARM汇编指令调试方法
  6. 【angularjs】【学习心得】路由继续研究篇
  7. Python 和curl 调用sendcloud发送邮件
  8. Qt部件学习之-烧鹅
  9. -xdebug java8_多种高级debug方法,帮你更快定位问题
  10. 微型计算机d3000,13级仪表微机重点教程.doc