के साथ argparse में विकल्प होने के बाद मैं --pm-export
जैसे argparse मॉड्यूल में कुछ विकल्प रखना चाहता हूं, हालांकि जब मैं इसे args.pm-export
जैसे उपयोग करने का प्रयास करता हूं तो मुझे त्रुटि मिलती है कि pm
विशेषता नहीं है। मैं इस मुद्दे के आसपास कैसे हो सकता हूं? क्या कमांड लाइन विकल्पों में -
होना संभव है?डैश
डैश
उत्तर
indicated in the argparse
docs के रूप में:
वैकल्पिक तर्क कार्यों के लिए, गंतव्य का मूल्य सामान्य रूप से विकल्प तार से अनुमान लगाया गया है। ArgumentParser पहली लंबी विकल्प स्ट्रिंग और प्रारंभिक
--
स्ट्रिंग को अलग करने से dest के मूल्य उत्पन्न करता है। किसी भी आंतरिक-
पात्रों यकीन है कि स्ट्रिंग मान्य विशेषता नाम
तो तुम args.pm_export
का उपयोग करना चाहिए है बनाने के लिए _
पात्रों में परिवर्तित हो जाएगा।
डैश अंडरस्कोर में बदल रही हैं:
import argparse
pa = argparse.ArgumentParser()
pa.add_argument('--foo-bar')
args = pa.parse_args(['--foo-bar', '24'])
print args # Namespace(foo_bar='24')
दुर्भाग्य से, डैश-टू-अंडरस्कोर प्रतिस्थापन
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('logs-dir',
help='Directory with .log and .log.gz files')
parser.add_argument('results-csv', type=argparse.FileType('w'),
default=sys.stdout,
help='Output .csv filename')
args = parser.parse_args()
print args
# gives
# Namespace(logs-dir='./', results-csv=<open file 'lool.csv', mode 'w' at 0x9020650>)
तो जैसे positionalarguments (--
लगाया जाता है नहीं) के लिए काम नहीं करता है, तो आप विशेषता नाम और metavar
kwarg के रूप में add_argument()
को 1'st तर्क का उपयोग करना चाहिए सेट में इसे कैसे देखना चाहिए:
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('logs_dir', metavar='logs-dir',
nargs=1,
help='Directory with .log and .log.gz files')
parser.add_argument('results_csv', metavar='results-csv',
nargs=1,
type=argparse.FileType('w'),
default=sys.stdout,
help='Output .csv filename')
args = parser.parse_args()
print args
# gives
# Namespace(logs_dir=['./'], results_csv=[<open file 'lool.csv', mode 'w' at 0xb71385f8>])
प्रासंगिक पायथन बग रिपोर्ट: http://bugs.python.org/issue15125। 'argparse'' setattr' और 'getattr' का उपयोग करता है, इसलिए 'dest' नामों को वैध' dot' विशेषता नाम नहीं होना चाहिए। उपयोगकर्ता 'getattr' का भी उपयोग कर सकते हैं। – hpaulj
मैं बस 'positional_arg = getattr (पार्सर,' पोजिशनल-एर्ग ') ' –
बिल्कुल वही करता हूं जो मुझे चाहिए - मैंने इसे' मेटावर 'के साथ पीछे किया और यह पता नहीं लगा कि यह क्यों काम नहीं कर रहा था। धन्यवाद! – dwanderson
- 1. डैश
- 2. पायथन: डैश
- 3. मैं "-" (डैश)
- 4. PHP डैश
- 5. यूआरएल: डैश बनाम अंडरस्कोर
- 6. हाइफन डैश बनाम: हाइफन
- 7. linux डबल डैश
- 8. बैश, डैश और स्ट्रिंग तुलना
- 9. ड्राइंग डैश और निरंतर लाइनें
- 10. निर्देशिका में खोजें जो डैश
- 11. का उपयोग: - (कॉलन डैश) बैश
- 12. ईमेल के साथ समस्याएं "-" (डैश)
- 13. jQuery वैलिडेटर: अल्फा न्यूमेरिक + स्पेस और डैश
- 14. गिट चेकआउट डबल डैश का अर्थ
- 15. शक्तियों में डैश प्रतीक के साथ समस्या
- 16. डैश का प्रयोग करें (-) enum पैरामीटर
- 17. आरटीएल वेब पेज पर एक डैश
- 18. एएसपी.एमवीसी पैरामीटर में एक डैश (-) का उपयोग
- 19. जावा नियमित अभिव्यक्तियों में यूनिकोड डैश मिलान?
- 20. पायथन matplotlib डैश-डॉट-डॉट - कैसे करें?
- 21. एचटीएमएल: शीतल हाइपन () बिना डैश के?
- 22. विम (डैश कैरेक्टर) में पूरे शब्द की खोज
- 23. ईएम डैश # 151 के बीच क्या अंतर है; और # 8212 ;?
- 24. लाटेक्स को डैश युक्त हाइफनेटिंग शब्दों से कैसे रोकें?
- 25. क्या GUID से डैश को निकालना अच्छा विचार है?
- 26. Zend फ्रेमवर्क: नियंत्रक नाम में उपयोग करना डैश/यूआरएल
- 27. क्या आपके पास एक संपत्ति नाम है जिसमें डैश
- 28. रूबी प्रतीक में डैश से बचने के लिए कैसे?
- 29. अंडरस्कोर के बजाए डैश के साथ रेल नियंत्रक नाम
- 30. वीएस -2010 - सभी रिक्त स्थानों के लिए डैश शो
केवल वैकल्पिक तर्कों के लिए। आवश्यक लोगों को उनके हाइफ़न रखने के लिए, इसलिए उन्हें सुलभ बनाने के लिए अंडरस्कोर की आवश्यकता होती है। – n00dle