Bir işleve bir komut satırı argümanı geçmesine click
piton paketi kullanmak çalışıyorum. Resmi belgelere örnek olarak açıklandığı gibi çalışır. Ancak belgelerin hiçbir yerinde bir değeri nasıl geri döndüreceğinden bahsetmiyoruz. Belgedeki işlevlerin hiçbiri bir değer döndürmez, bu yüzden bunu nasıl yapacağımı anlamıyorum. belgelerineBir komut satırı argümanını bir işleve geçirmek için @ click.option kullanıldığında nasıl bir değer döndürürüm?
Verilen örnek:
import click
@click.command()
@click.option('--count', default=3, help='Number of greetings.')
def hello(count):
"""Simple program that greets NAME for a total of COUNT times."""
for x in range(count):
click.echo('Hello')
return "hello hi"
if __name__ == '__main__':
print(hello())
"merhaba hi" konsolda çıktı olarak iade edilmemesi: Yapmak istediğim ne
import click
@click.command()
@click.option('--count', default=3, help='Number of greetings.')
def hello(count):
"""Simple program that greets NAME for a total of COUNT times."""
for x in range(count):
click.echo('Hello')
if __name__ == '__main__':
hello()
. Birisi bana bunun nasıl yapılacağını söyleyebilir mi?
'argparse' kayalar, ama' click' birçok o bunun üstüne işlevselliği bir sürü ekler: İşte (diğerleri de söylediğim gibi çıkış kodu hakkında önemsemeden) sorunuzu kodu kullanarak bir çalışma örneğidir vakalar gerçek mantığınızdan daha fazla kod alırdı. Dokümanlardaki [Neden Tıklanma?] (Http://click.pocoo.org/3/why/) adresine bakın. Amaçlanan amaç için kullanmak kesinlikle mantıklı. – abarnert
@abarnert: Çalışmamın bir argparse sürümünü benim cevabım içine düzenledim. 'Click' ile orijinaline kıyasla bir kod satırı daha alır. –
Size verdiğim bağlantıyı okursanız, 'click''in noktası, ölü-basit programlar için değildir, karmaşık CLI programları oluşturmak gibi şeyler içindir. "Bu program için sadece bir satır kaydeder" demek, "C, Python kadar iyi, çünkü Hello, World için sadece 1 satır daha uzun olduğu için" demek gibi. – abarnert