如何具体使用全局文档字符串?

0 投票
1 回答
648 浏览
提问于 2025-05-10 15:07

我想在我的命令帮助中使用全局文档字符串。这是一个可以正常工作的例子:

"""
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__']

这感觉有点不太正规,我在想有没有其他方法可以专门使用全局文档字符串。一旦你使用了

help = '__doc__' 

本地描述,也就是说,Command 的文档字符串就会被使用。

相关问题:

  • 暂无相关问题
暂无标签

1 个回答

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__

撰写回答