6

मैं कुछ स्क्रिप्ट्स के लिए तर्क प्रबंधित करने के लिए optparse.OptionParser का उपयोग कर रहा हूं, और कुछ जो मैं सोच रहा था/करना चाहता हूं, में बूलियन झंडे (यानी action=store_true) है जो पैरामीटर को स्वीकार भी कर सकता है ।पायथन विकल्प पार्सर: वैकल्पिक पैरामीटर के साथ बूलियन ध्वज

इसे संदर्भ में रखने के लिए, मेरे पास एक ऐसा एप्लिकेशन है जो मशीन पर पाई जाने वाली कई GPU/प्रोसेसर का उपयोग कर सकता है। कई कारणों से के लिए कभी कभी तुम उपकरणों का उपयोग करता है की संख्या को सीमित करना चाहते हैं, और आगे कमांड लाइन को अव्यवस्थित करने के बजाय, मैं करने में सक्षम होना चाहते हैं:

script -c -g 

उपयोग सभी आप सभी CPU की कर सकते हैं जिसका अर्थ है और gpus, और

script -c 2 -g 3 

अर्थ 2 सीपीयू और 3 जीपीयू के लिए स्क्रिप्ट निष्पादन को सीमित करता है।

ऑप्टपर दस्तावेज पढ़ने के बाद, मैं कोई भी बुद्धिमान नहीं हूं। ओह महान एसओ गुरु! मुझे अपना ज्ञान उधार दो!

उत्तर

1

आप इसे आसानी से कार्यान्वित करने के लिए callback कार्रवाई का उपयोग कर सकते हैं। विशेष रूप से, OptionParser की कॉलबैक कार्रवाई के example 6 in the documentation तर्कों की एक चर संख्या पर चर्चा करता है। यहाँ कि उदाहरण से एक कह उद्धरण है:

चीजें बालों मिल जब आप एक विकल्प तर्क के परिवर्तनशील लेना चाहते हैं। इस मामले के लिए, आपको कॉलबैक लिखना होगा, क्योंकि ऑप्टपरसे के लिए कोई भी अंतर्निहित क्षमता प्रदान नहीं करता है।

+0

धन्यवाद एली, कि देखा था, लेकिन के – Bolster

+0

@Andrew 'मैं या तो बूलियन या एक बहस कर रहा हूँ' कोने मामले के लिए क्लीनर कुछ के लिए उम्मीद थी: मैं यह नहीं बल्कि के रूप में "या तो 0 या 1 तर्क" देख –

+0

के रूप में पास व्यावहारिक के रूप में एक जवाब के लिए। धन्यवाद @ एली – Bolster

संबंधित मुद्दे