Python中文
首页
教程
问答
标签
搜索
登录
注册
Python-获取完整包模块nam
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>对于应用程序中的详细调试消息,我正在使用返回有用前缀的函数。请考虑以下示例:</p> <pre><code>import inspect def get_verbose_prefix(): """Returns an informative prefix for verbose debug output messages""" s = inspect.stack() module_name = inspect.getmodulename(s[1][1]) func_name = s[1][3] return '%s->%s' % (module_name, func_name) def awesome_function_name(): print "%s: Doing some awesome stuff right here" % get_verbose_prefix() if __name__ == '__main__': awesome_function_name() </code></pre> <p>这将输出:</p> <pre>test->awesome_function_name: Doing some awesome stuff right here</pre> <hr/> <p><strong>我的问题是:</strong>当包中有一个模块时,例如“myproject.utilities.input”,从<code>get_verbose_prefix</code>返回的模块名仍然只是“input”,而不是“myproject.utilities.input”。这大大降低了前缀在大型项目中的有用性,因为在不同的子模块中可以有多个“输入”模块一起工作。</p> <p><strong>所以我的问题是:</strong>是否有一种简单的方法可以在Python中检索其包中的完整模块名?我计划扩展<code>get_verbose_prefix</code>函数,以检查模块的父目录中是否有'{u in it'.py'文件来推断它的全名,但首先我想知道是否有更简单的方法来实现它。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在其包中检索完整模块名称的简单方法:</p> <pre><code>print(__file__) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何替换子字符串,但前提是它正好出现在两个单词之间
1 回答
如何替换字典中所有出现的指定字符
8 回答
如何替换字典中所有键的第一个字符?
9 回答
如何替换字典所有键中的子字符串
4 回答
如何替换字符串python中的变量值?
2 回答
如何替换字符串Python中的第二次迭代
9 回答
如何替换字符串y Python中不等于字符串x的所有内容?
8 回答
如何替换字符串中出现的第n个单词?
6 回答
如何替换字符串中单词的一部分
7 回答
如何替换字符串中同时出现的2个或更多特殊字符或下划线
5 回答
如何替换字符串中指定位置(索引)的字符?
4 回答
如何替换字符串中某个字符的所有匹配项?
8 回答
如何替换字符串中的
4 回答
如何替换字符串中的一个字符
8 回答
如何替换字符串中的主题(固定位置)
4 回答
如何替换字符串中的分隔逗号?
4 回答
如何替换字符串中的列名(python)?
10 回答
如何替换字符串中的制表符?
5 回答
如何替换字符串中的单个单词而不是用相同的字符替换其他单词
3 回答
如何替换字符串中的单个字符?
9 回答