2015-11-19 6 views
0

Я хочу использовать глобальную doctstring в моей команде. Это рабочий пример:как конкретно использовать глобальную docstring?

""" 
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 «s.

ответ

0

Предполагая help является Django конкретный элемент и вам это нужно (хотя я никогда не слышал о Джанго вмешиваться со встроенными модулями),

help = __doc__ 

Если сделать трюк, это, по существу такой же, как globals()['__doc__'] из-за ищет __doc__ пузыри до уровня модуля. В худшем случае, __doc__ является None, то

help = __doc__ or Command.__doc__ 

можно использовать (или что-то подобное).

Если не использовать help переменную я бы следующим образом:

""" module doc """ 
class C: pass 
C.__doc__ = __doc__ 

 Смежные вопросы

  • Нет связанных вопросов^_^