【发布时间】:2011-07-08 04:52:53
【问题描述】:
我已经搜索过了,这似乎是一个没有简单答案的简单问题。
我有文件a/b/c.py,它会用python -m a.b.c 调用。我想在模块级别获取值a.b.c。
USAGE = u'''\
Usage:
python -m %s -h
''' % (what_do_i_put_here,)
所以当我收到-h 选项时,我会显示USAGE 而无需在每个脚本中实际写下实际值。
我真的需要通过inspect 来获得所需的值吗?
谢谢。
编辑: 如前所述,有答案(我已经搜索过),但不是简单的答案。要么使用inspect,要么使用traceback,或者操纵__file__ 和__package__ 并做一些子字符串来得到答案。但没有什么比我在模块中有一个类更简单的了,我只需使用myClass.__module__ 就可以得到我想要的答案。 __name__ 的使用(不幸的是)没用,因为它总是 "__main__"。
另外,这是在 python 2.6 中,我不能使用任何其他版本。
【问题讨论】:
-
这个帖子对你有帮助吗? stackoverflow.com/questions/247770/…
标签: python python-2.6