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

  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011
  • L33TNoonProductions

    L33TNoonProd

    24 EYLÜL 2010
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007