2013-08-07 16 views
11

Komut dizimde argparse.ArgumentParser() kullanıyorum. '--help' seçeneğinin bir parçası olarak betiğimin pydoc açıklamasını görüntülemek istiyorum Argparse'ninpydoc'ın açıklaması argparse '--help' bölümünün bir parçası olarak gösteriliyor

biri muhtemelen çözüm yardım görüntülendiği yapılandırmak için formatter_class veya ArgumentParser ait description özellik kullanmak olabilir. Ancak bu durumda, açıklamayı almak için 'pydoc' komutunu dahili olarak kullanmamız gerekiyor.

Bunu yapmak için başka yöntemlerimiz (muhtemelen zarif) var mı?

+0

yaa, '__doc__' benim için yeterli. Teşekkürler ! Formatter_class/description 'yerine başka bir yol var mı? – baky

cevap

20

Komut dosyanızın belgelerini global olarak __doc__'dan alabilirsiniz. Komut dosyasının yardımına eklemek için, ayrıştırıcının description bağımsız değişkenini ayarlayabilirsiniz. Yardım etmeleri sonuna docstring'ini taşımak için description yerine epilog kelime argüman kullanabilirsiniz

$ python tmp.py --help 
usage: tmp.py [-h] foo 

My python script 

Script to process a file 

positional arguments: 
    foo   Name of file to process 

optional arguments: 
    -h, --help show this help message and exit 

hemen kullanım dizesini uygulamak yerine,: gibi

"""My python script 

Script to process a file 
""" 

p = argparse.ArgumentParser(description=__doc__, 
          formatter_class=argparse.RawDescriptionHelpFormatter) 
p.add_argument('foo', help="Name of file to process") 
p.parse_args() 

Sonra yardım bakacağız.

+3

Çok satırlı bir doktora sahipse, açıklama bunu bir satırda birleştirir. ArgümanParser (use = __ doc __) ' –

+0

Oh 'yi kullanmak daha iyidir, doğru. Biçimlendirmeyi korumak için 'formatter_class = argparse.RawDescriptionHelpFormatter 'değerini ayarlamanız gerekir. Korkarım ki şimdi denediği şeyleri çoğaltıyorum. – chepner

İlgili konular