2013-02-16 58 views
15

मैं सिवाय मेरे पर एक सिंटैक्स त्रुटि मिल गया है:मेरे अलावा क्या गलत है?

File "main.py", line 199 

except getopt.GetoptError, e: 

SyntaxError: invalid syntax 

कोई भी किसी भी विचार है:

try: 
    opts, args = getopt.getopt(sys.argv[1:], 'P:D:H:d:u:p:nvhmJi:c:Ml:TB:', 
      ['host=', 'port=', 'directory=', 'user=', 'password=', 
      'daemon=', 'noauth', 'help', 'verbose', 'mysql', 
      'icounter=', 'config=', 'nolock', 'nomime', 'loglevel', 'noiter', 
      'baseurl=']) 
except getopt.GetoptError, e: 
    print usage 
    print '>>>> ERROR: %s' % str(e) 
    sys.exit(2) 

मैं त्रुटि मिलती है?

+1

'getopt.GetoptError को e' के रूप में छोड़कर' कोशिश करें? – cnicutar

+1

एक ही मुद्दे के बारे में इस चर्चा को देखें: http://stackoverflow.com/questions/2535760/python-try-except-comma-vs-as-in-except –

उत्तर

5

आपका वाक्य रचना अपवाद

को पकड़ने के लिए अमान्य आप except getopt.GetoptError as e: बजाय except getopt.GetoptError, e:

+1

यह पायथन के पुराने संस्करणों में सही वाक्यविन्यास था , हालांकि। – tripleee

28

आप python3 और python3 the raise syntax no longer accepts comma-separated arguments में उपयोग लिखा जाना चाहिए था है। बजाय

उपयोग as:

except getopt.GetoptError as e: 

यह फार्म भी 2.6 और 2.7 के साथ पीछे-संगत है।

+0

ठीक है, धन्यवाद! यह अब काम कर रहा है =) – lagarkane

+0

मैं यह जोड़ूंगा कि यदि ओपी कोड चाहता है जो पाइथन <2.6 के साथ संगत है तो उसे 'getopt.GetoptError:' को छोड़कर 'sys.exc_info() 'का उपयोग करके त्रुटि जानकारी पुनर्प्राप्त करनी चाहिए। – Bakuriu