34

私の例外にSyntaxErrorがあります:

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)

エラーが発生します:

File "main.py", line 199

except getopt.GetoptError, e:

SyntaxError: invalid syntax

誰でも何か考えがありますか?

4

2 に答える 2

56

python3 を使用すると、python3では raise 構文がカンマ区切りの引数を受け入れなくなりました。

as代わりに使用してください:

except getopt.GetoptError as e:

この形式は、2.6 および 2.7 との下位互換性もあります。

于 2013-02-16T09:54:12.913 に答える
8

例外をキャッチするには構文が無効です

except getopt.GetoptError as e: 代わりに書くべきだったexcept getopt.GetoptError, e:

于 2013-02-16T09:30:58.633 に答える