19

私は Python の初心者で、さまざまな種類のサンプル コードをテストしています。2.7 の代わりに Python3 を使い始めたとき。構文エラーが発生しましたが、そのエラーを修正する方法がわかりません。

  File "app.py", line 101
    except InvalidUserPass, e:
                          ^
SyntaxError: invalid syntax

いくつかのコンテキストを提供するために、そのコードの詳細を次に示します。

@app.route('/login/', methods=['GET', 'POST'])
def login():
    error = None
    if request.method == 'POST':
        session['username'] = request.form['username']
        session['password'] = request.form['password']
        try:
            # use reddit_api's login
            r.login(user=session['username'], password=session['password'])
        except InvalidUserPass, e:
            error = 'Incorrect username or password. '
        if not error:
            subreddits = r.user.get_my_reddits(limit=25)
            my_reddits = []
            for i in range(25):
                my_reddits.append(subreddits.next().display_name)
            session['my_reddits'] = my_reddits
            return redirect(url_for('index'))
    return render_template('login.html', error=error)
4

4 に答える 4

31

変化する

except InvalidUserPass, e:

except InvalidUserPass as e:

詳細については、これを参照してください。

于 2012-09-20T19:28:50.240 に答える
8

単純except InvalidUserPass as e:に。errorそして、念のため、醜いものを取り除きましょう。

@app.route('/login/', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        session['password'] = request.form['password']

        try:
            # use reddit_api's login
            r.login(user=session['username'], password=session['password'])
        except InvalidUserPass as e:
            return render_template('login.html', 
                                   error='Incorrect username or password.')

        subreddits = r.user.get_my_reddits(limit=25)
        my_reddits = []
        for i in range(25):
            my_reddits.append(subreddits.next().display_name)
        session['my_reddits'] = my_reddits
        return redirect(url_for('index'))

    return render_template('login.html')
于 2012-09-20T19:27:34.743 に答える
2

python3では次のとおりです。

except InvalidUserPass as e:
于 2012-09-20T19:28:54.100 に答える