SORU
28 EKİM 2010, PERŞEMBE


Görüntülü Yardım dosyası herhangi bir bağımsız değişken olmadan çağrıldığında python argparse ile ileti

Bu çok basit olabilir. Argparse komut satırı argümanları/seçenekleri işlemek için kullandığı bir program var varsayalım. 'Yardım' mesajı: . takip edecek Yazdır

./myprogram -h

ya da:

./myprogram --help

Ama, eğer herhangi bir bağımsız değişkeni olmadan komut dosyası çalıştırırsanız, hiçbir işe yaramıyor. Yapmak istediğim şey, bağımsız değişken olmadan çağrıldığında, kullanım mesajı görüntülemek için. Bu nasıl yapılır?

CEVAP
28 EKİM 2010, PERŞEMBE


Bu cevap Steven Bethard on Google groups geliyor. Burada bir Google Hesabı olmadan insanların erişimini kolaylaştırmak için transfer kaydı yapıyorum.

error yöntemi varsayılan davranışı geçersiz kılabilirsiniz:

import argparse
import sys

class MyParser(argparse.ArgumentParser):
    def error(self, message):
        sys.stderr.write('error: %s\n' % message)
        self.print_help()
        sys.exit(2)

parser=MyParser()
parser.add_argument('foo', nargs=' ')
args=parser.parse_args()

Yukarıdaki çözüm error yöntemi tetiklenir her yardım mesajı basılır. Örneğin, test.py --blah --blah geçerli bir seçenek değil eğer çok yardım mesajı yazdırın.

Eğer Eğer herhangi bir argüman komut satırında sağlanan tek yardım mesajı yazdırmak istiyorsanız, o zaman belki bu hala en kolay yoludur:

import argparse
import sys

parser=argparse.ArgumentParser()
parser.add_argument('foo', nargs=' ')
if len(sys.argv)==1:
    parser.print_help()
    sys.exit(1)
args=parser.parse_args()

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • MuscleProdigyTV

    MuscleProdig

    8 Ocak 2011
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012