Aracımda komut satırı seçeneklerini ele almak için mükemmel Python Click kitaplığını kullanıyorum. İşte benim kod basitleştirilmiş bir versiyonudur (tam komut here) var:Python Click: özel hata iletisi
birisi herhangi bayraklar olmadan komutu çalışıyorsa@click.command(
context_settings = dict(help_option_names = ['-h', '--help'])
)
@click.argument('analysis_dir',
type = click.Path(exists=True),
nargs = -1,
required = True,
metavar = "<analysis directory>"
)
def mytool(analysis_dir):
""" Do stuff """
if __name__ == "__main__":
mytool()
, aldıkları varsayılan tıklama hata iletisi:
$ mytool
Usage: mytool [OPTIONS] <analysis directory>
Error: Missing argument "analysis_dir".
Bu güzel, ama ben 'Oldukça acemi kullanıcılara yardım bayrağını kullanarak daha fazla yardımın mümkün olduğunu söylemeyi çok isterim. Başka bir deyişle, komut geçersiz olduğunda, daha fazla bilgi için kullanıcılara mytool --help
'u denemelerini söyleyen hata iletisine özel bir cümle ekleyin.
Bunu yapmanın kolay bir yolu var mı? required
özniteliğini kaldırabildiğimi ve bu mantığı ana işlevde kaldırabileceğimi biliyorum, ancak bu küçük bir ekleme için biraz rahatsızlık hissediyor.
Tam olarak aynı sorunu yaşıyorum. Bir hata olursa ya da en azından kullanıcıya yardımın nasıl yazdırılacağını söylerse, otomatik olarak yardımı yazdırmak isterim. Aksi halde, aracımızı kullanan herkesin unix tabanlı düşünmeye aşina olduğunu varsayalım. Şimdiye kadar tıklamayı çok severim ama bu sorunun yanıtlanmadığı konusunda akıl hocalığı yapıyorum, çünkü acemilerin kolaylıkla kullanabileceği araçları geliştirmeye yardımcı olacak bir şey istiyorum. – user1677663
Sadece şunu buldum, bu bir çözüm olabilir: http://stackoverflow.com/questions/35642202/python-click-return-the-helper-menu – user1677663
Hayır, işe yaramadı. – user1677663