के अंत में किसी भी विकल्प का समर्थन करना मैं एक छोटा प्रोग्राम लिख रहा हूं जो रिमोट सर्वर पर कमांड निष्पादित करने वाला है (मान लें कि ssh [hostname] [command]
के आसपास एक उचित गूंगा रैपर कहें)।OptionParser - कमांड लाइन
मैं इस तरह के रूप में यह निष्पादित करने के लिए करना चाहते हैं:
./floep [command]
हालांकि, मैं समय-समय पर कुछ कमांड लाइन पारित करने के लिए की जरूरत है:
./floep -v [command]
तो मैं इस बात के लिए optparse.OptionParser उपयोग करने का फैसला । समस्या है, मैं कभी-कभी आदेश भी तर्क है, जो ठीक काम करता है, तो मुझे क्या करना है:
./floep -v "uname -a"
लेकिन मैं यह भी यह है जब मैं का उपयोग काम करना चाहता हूँ:
./floep -v uname -a
विचार यह है कि जल्द ही मैं पहले गैर-विकल्प तर्क में आया हूं, उसके बाद सबकुछ मेरे आदेश का हिस्सा होना चाहिए।
लेकिन यह मुझे देता है:
Usage: floep [options] floep: error: no such option: -a
OptionParser इस वाक्य रचना का समर्थन करता है? यदि हां, तो कैसे? यदि नहीं: तो इसे ठीक करने का सबसे अच्छा तरीका क्या है?
धन्यवाद में एक अभ्यास है आप .. यह एक बहुत ही गहन जवाब है और पूरी तरह से काम किया – Evert