2012-06-07 19 views
25

के साथ प्रोग्राम प्रोग्राम उदाहरण प्रिंट करें मैं पाइथन के argparse मॉड्यूल का उपयोग करने का तरीका सीखने की कोशिश कर रहा हूं। वर्तमान में मेरे अजगर स्क्रिप्ट है:Argparse मॉड्यूल

parser = argparse.ArgumentParser(description='My first argparse attempt', 
           add_help=True) 
parser.add_argument("-q", action ="store", dest='argument', 
        help="First argument") 
output = parser.parse_args() 

और यह के रूप में उत्पादन देता है:

usage: test.py [-h] [-q ARGUMENT] 

My first argparse attempt 

optional arguments: 
    -h, --help show this help message and exit 
    -q ARGUMENT First argument 

अब, मैं अपने -h or --help तर्क यह भी एक usage example प्रिंट करना चाहते हैं मान लीजिए की सुविधा देता है। की तरह,

Usage: python test.py -q "First Argument for test.py" 

मेरे उद्देश्य -h तर्क के डिफ़ॉल्ट सामग्री के साथ ऊपर के उपयोग का उदाहरण मुद्रित करने के लिए इतना है कि उपयोगकर्ता कैसे test.py अजगर स्क्रिप्ट का उपयोग करने की एक बुनियादी विचार प्राप्त कर सकते है।

तो, यह कार्यक्षमता argparse मॉड्यूल में अंतर्निहित है। यदि इस समस्या से संपर्क करने का सही तरीका क्या है।

उत्तर

34

parser.epilog का उपयोग -h टेक्स्ट के बाद कुछ प्रदर्शित करने के लिए करें।

parser = argparse.ArgumentParser(
    description='My first argparse attempt', 
    epilog='Example of use') 

output = parser.parse_args() 

प्रिंट:

My first argparse attempt 

optional arguments: 
    -h, --help show this help message and exit 

Example of use 
+0

जवाब के लिए धन्यवाद। – RanRag

+17

@Noob - ध्यान दें कि व्हाइटस्पेस आपके विवरण और एपिलॉग से छीन लिया जाएगा (जो अक्सर "उपयोग के उदाहरण" के लिए अच्छा नहीं होता है। यह अनुमति देने के लिए कि आप 'argparse.RawDescriptionHelpFormatter' (http://docs.python.org /dev/library/argparse.html#argparse.RawDescriptionHelpFormatter) – mgilson

+1

क्या argparse.RawDescriptionHelpFormatter का उपयोग करने के लिए सिर्फ एक तरीका है, वर्णन के लिए नहीं? मैं चाहता हूं कि विवरण स्वचालित रूप से लपेटा जाए। लेकिन मैं इसका ख्याल रखना चाहता हूं epilogue का स्वरूपण। – user2015487

संबंधित मुद्दे