मैं एक पायथन स्क्रिप्ट लिख रहा हूं जिसे मैं कमांड लाइन से कॉल करने और लाइब्रेरी फ़ंक्शन के रूप में आयात करने में सक्षम होना चाहता हूं। आदर्श रूप से कमांड लाइन विकल्प और फ़ंक्शन को डिफ़ॉल्ट मानों के समान सेट का उपयोग करना चाहिए। मुझे दोनों जगहों पर डिफ़ॉल्ट रूप से एक सेट का पुन: उपयोग करने की अनुमति देने का सबसे अच्छा तरीका क्या है?पायथन ऑप्टपरसे डिफ़ॉल्ट बनाम फ़ंक्शन डिफ़ॉल्ट
डुप्लिकेट डिफ़ॉल्ट के साथ वर्तमान कोड यहां दिया गया है।
from optparse import OptionParser
def do_stuff(opt1="a", opt2="b", opt3="c"):
print opt1, opt2, opt3
if __name__ == "__main__":
parser = OptionParser()
parser.add_option("--opt1", default="a")
parser.add_option("--opt2", default="b")
parser.add_option("--opt3", default="c")
#parser.set_defaults(opt1="a")
options, args = parser.parse_args()
do_stuff(*args, **vars(options))