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

  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • filmurfreakur

    filmurfreaku

    29 Mart 2007
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010