मैंने एक स्क्रिप्ट का उपयोग करके बनाया है argparse
।
स्क्रिप्ट को एक विकल्प के रूप में कॉन्फ़िगरेशन फ़ाइल नाम लेने की आवश्यकता है, और उपयोगकर्ता यह निर्दिष्ट कर सकता है कि क्या उन्हें पूरी तरह से स्क्रिप्ट को आगे बढ़ाने की आवश्यकता है या केवल इसे अनुकरण करना है।
पारित होने के लिए आर्ग: ./script -f config_file -s
या ./script -f config_file
।
यह -f config_file भाग के लिए ठीक है, लेकिन यह मुझसे -s के लिए दलीलें मांगता रहता है, जो कि विकल्प के रूप में है और किसी के द्वारा पालन नहीं की जानी चाहिए।
मैंने यह कोशिश की है:
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file')
#parser.add_argument('-s', '--simulate', nargs = '0')
args = parser.parse_args()
if args.file:
config_file = args.file
if args.set_in_prod:
simulate = True
else:
pass
निम्नलिखित त्रुटियों के साथ:
File "/usr/local/lib/python2.6/dist-packages/argparse.py", line 2169, in _get_nargs_pattern
nargs_pattern = '(-*%s-*)' % '-*'.join('A' * nargs)
TypeError: can't multiply sequence by non-int of type 'str'
और उसी के ''
बजाय के साथ गलत 0
।