के साथ छेड़छाड़ वाले तर्क छोड़ दें, मैं उन तर्कों का विश्लेषण करने के लिए argparse का उपयोग करना चाहता हूं जो इसे जानता है और फिर शेष छूटे रहें। उदाहरण के लिए मैंargparse
performance -o output other_script.py -a opt1 -b opt2
कौन सा -o
विकल्प का उपयोग करता है और बाकी अछूता छोड़ देता है चलाने के लिए सक्षम होना चाहता हूँ।
मॉड्यूल profiler.py optparse के साथ एक समान बात करता है, लेकिन जब से मैं argparse उपयोग कर रहा हूँ मैं कर रहा हूँ:
def parse_arguments():
parser = new_argument_parser('show the performance of the given run script')
parser.add_argument('-o', '--output', default='profiled.prof')
return parser.parse_known_args()
def main():
progname = sys.argv[1]
ns, other_args = parse_arguments()
sys.argv[:] = other_args
भी काम करने के लिए लगता है, लेकिन क्या होता है अगर यह भी भी other_script.py कौन सा
-o
ध्वज है?
क्या इस समस्या को हल करने के लिए सामान्य रूप से एक बेहतर तरीका है?
आह कि धन्यवाद के बारे में पता नहीं था! एक मार्कर के बिना यह वास्तव में समझने के लिए बहुत मुश्किल होगा कि मुझे क्या लगता है, यह एक आसान समस्या नहीं है .. –
यह स्पष्ट किया जाना चाहिए कि आपको 'parse_known_args()' विधि (कम से कम python3 पर) का उपयोग करने की आवश्यकता है। 6) – krishonadish