के साथ एकाधिक स्थितित्मक तर्क मैं एक प्रोग्राम के लिए कमांड लाइन तर्कों को पार्स करने के लिए argparse का उपयोग करने का प्रयास कर रहा हूं। अनिवार्य रूप से, मुझे वैकल्पिक तर्कों के भीतर फैले कई पोजीशनल तर्कों का समर्थन करने की आवश्यकता है, लेकिन इस स्थिति में काम करने के लिए तर्क नहीं मिल सकता है। वास्तविक कार्यक्रम में, मैं एक कस्टम एक्शन का उपयोग कर रहा हूं (मुझे प्रत्येक बार एक स्थितित्मक तर्क मिलने पर नामस्थान का स्नैपशॉट स्टोर करने की आवश्यकता होती है), लेकिन मुझे जो समस्या हो रही है उसे append
क्रिया के साथ दोहराया जा सकता है:पायथन और Argparse
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-a', action='store_true')
>>> parser.add_argument('-b', action='store_true')
>>> parser.add_argument('input', action='append')
>>> parser.parse_args(['fileone', '-a', 'filetwo', '-b', 'filethree'])
usage: ipython [-h] [-a] [-b] input
ipython: error: unrecognized arguments: filetwo filethree
मैं इसे नामस्थान (a=True, b=True, input=['fileone', 'filetwo', 'filethree'])
में परिणाम देना चाहता हूं, लेकिन यह नहीं देख सकता कि यह कैसे करें - यदि वास्तव में यह कर सकता है। मैं दस्तावेज़ों या Google में कुछ भी नहीं देख सकता जो एक तरीका या दूसरा कहता है यदि यह संभव है, हालांकि यह काफी संभव है (संभवतः?) मैंने कुछ अनदेखा किया है। क्या किसी के पास कोई सुझाव है?
'' -a'' और '' -b'' की क्रिया को 'ऐपेंड'' में बदलने के बारे में, फिर परिणामस्वरूप नामस्थान को आप जो चाहते हैं उसे संशोधित करें? –