我想在命令帮助中使用全局doctstring。这是一个工作的例子:
"""
This is a global description.
Usage:
Use it like so::
$ python my_fancy_script <my_fancy_name>
"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import django.core.management as management
logger = logging.getLogger(__name__)
class Command(management.base.BaseCommand):
"""
This is a local doc.
"""
args = '<work_db_name>'
help = globals()['__doc__']
这感觉很难看,我想知道是否还有另一种方法可以专门使用全局docstring。一旦你做了
help = '__doc__'
将使用本地说明,即Command
的文档字符串。
答案 0 :(得分:0)
假设help
是Django特定成员并且你需要它(虽然我从来没有听说过Django会干扰内置函数),
help = __doc__
应该这样做,这与globals()['__doc__']
基本相同,因为在模块级范围内查找__doc__
个气泡。在最糟糕的情况下,__doc__
为None
,然后是
help = __doc__ or Command.__doc__
可以使用(或类似的东西)。
如果不使用help
变量,我可以采取以下方式:
""" module doc """
class C: pass
C.__doc__ = __doc__