शीर्षक बहुत अधिक संक्षेप में बताता है कि मैं क्या होना चाहूंगा।
यहाँ मेरे पास क्या है, और जबकि कार्यक्रम एक अनपोज़िटिव पूर्णांक पर नहीं उड़ता है, मैं चाहता हूं कि उपयोगकर्ता को सूचित किया जाए कि एक नॉनपोजिटिव पूर्णांक मूल रूप से बकवास है।
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-g", "--games", type=int, default=162,
help="The number of games to simulate")
args = parser.parse_args()
और आउटपुट:
python simulate_many.py -g 20
Setting up...
Playing games...
....................
एक नकारात्मक के साथ आउटपुट:
python simulate_many.py -g -2
Setting up...
Playing games...
अब, जाहिर है कि मैं सिर्फ एक जोड़ सकता है अगर यह निर्धारित if args.gamesकरना नकारात्मक है, लेकिन मैं उत्सुक था कि क्या इसे argparseस्तर पर फंसाने का एक तरीका था , ताकि स्वचालित उपयोग मुद्रण का लाभ उठाया जा सके।
आदर्श रूप में, यह इस तरह से कुछ मुद्रित करेगा:
python simulate_many.py -g a
usage: simulate_many.py [-h] [-g GAMES] [-d] [-l LEAGUE]
simulate_many.py: error: argument -g/--games: invalid int value: 'a'
इस तरह:
python simulate_many.py -g -2
usage: simulate_many.py [-h] [-g GAMES] [-d] [-l LEAGUE]
simulate_many.py: error: argument -g/--games: invalid positive int value: '-2'
अभी के लिए मैं यह कर रहा हूं, और मुझे लगता है कि मैं खुश हूं:
if args.games <= 0:
parser.print_help()
print "-g/--games: must be positive."
sys.exit(1)