2011-09-26 6 views
5

के साथ काम नहीं करता है मुझे पाइथन में उपयोग फ़ंक्शन के साथ कोई समस्या है। यह मेरा मुख्य कार्य का एक हिस्सा है:उपयोग फ़ंक्शन getopt

def main(argv): 
    try: 
      opts, args = getopt.getopt(argv, 'hi:o:tbpms:', ['help', 'input=', 'output=']) 
      if not opts: 
        print 'No options supplied' 
        usage() 
    except getopt.GetoptError,e: 
      print e 
      usage() 
      sys.exit(2) 

    for opt, arg in opts: 
      if opt in ('-h', '--help'): 
        usage() 
        sys.exit(2) 
if __name__ =='__main__': 
    main(sys.argv[1:]) 

और मैं एक उपयोग समारोह के रूप में अच्छी तरह से

def usage(): 
    print "\nThis is the usage function\n" 
    print 'Usage: '+sys.argv[0]+' -i <file1> [option]' 

परिभाषित लेकिन जब मैं ./code.py या ./code.py -h के रूप में मेरे कोड चलाने (यह निष्पादन योग्य है) मैं लेकिन कुछ भी मिल गया पायथन मदद करते हैं।

+0

"पाइथन सहायता के अलावा कुछ भी" का क्या मतलब है? उन स्थितियों में से प्रत्येक में आउटपुट वास्तव में क्या है? आपका कोड सही प्रतीत होता है। – agf

+0

'उपयोग: पायथन [विकल्प] ... [-सी सेमीडी | -एम आधुनिक | फाइल | -] [तर्क] ... ' – Alejandro

+0

आपको हमें और कोड दिखाने की आवश्यकता होगी। मैं नहीं देखता कि आपने जो चिपकाया है उसमें पाइथन उपयोग लाइन को ट्रिगर कर रहा है। – agf

उत्तर

5

नीचे मेरे लिए काम किया। इसे "पायथन code.py" के साथ चलाएं।

import getopt, sys 

def usage(): 
    print "\nThis is the usage function\n" 
    print 'Usage: '+sys.argv[0]+' -i <file1> [option]' 

def main(argv): 
    try: 
    opts, args = getopt.getopt(argv, 'hi:o:tbpms:', ['help', 'input=', 'output=']) 
    if not opts: 
     print 'No options supplied' 
     usage() 
    except getopt.GetoptError,e: 
    print e 
    usage() 
    sys.exit(2) 

    for opt, arg in opts: 
    if opt in ('-h', '--help'): 
     usage() 
     sys.exit(2) 

if __name__ =='__main__': 
    main(sys.argv[1:]) 
+1

"मुझे कोई त्रुटि नहीं मिली" का जवाब नहीं है "मुझे एक त्रुटि क्यों मिली"। – agf

+0

@agf हां, यह सच है। यह यहां है कि उसका असली लक्ष्य काम कोड प्राप्त करना था। अगर वह केवल यह जानने में रूचि रखता है कि उसका कोड क्यों काम नहीं करता है, तो मुझे लगता है कि यह सहायक नहीं है। – BenH

+0

आपकी मदद के लिए धन्यवाद, 'अगर ऑप्ट इन (' -h ',' --help ') से '-' को हटा रहा है:' मेरे लिए काम करता है ... धन्यवाद – Alejandro

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