복붙노트

[PYTHON] 쉼표를 사용할 때 예외 처리기의 구문이 잘못되었습니다.

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)

해결법

  1. ==============================

    1.변화

    변화

    except InvalidUserPass, e:
    

    except InvalidUserPass as e:
    

    자세한 내용은이 부분을 참조하십시오.

  2. ==============================

    2.InvalidUserPass를 e :로 단순히 제외하십시오. 그리고 천국을 위해서, 추악한 오류를 없애자.

    InvalidUserPass를 e :로 단순히 제외하십시오. 그리고 천국을 위해서, 추악한 오류를 없애자.

    @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')
    
  3. ==============================

    3.파이썬 3에서는 :

    파이썬 3에서는 :

    except InvalidUserPass as e:
    
  4. ==============================

    4.

    file /usr/libexec/urlgrabber-ext-down line 28 except oserror e invalid syntax
    
    modify /usr/bin/yum and /usr/libexec/urlgrabber-ext-dow files
    
    #!/usr/bin/python to #!/usr/bin/python2
    

    문제는 해결 될 것입니다.

  5. from https://stackoverflow.com/questions/12519554/invalid-syntax-in-except-handler-when-using-comma by cc-by-sa and MIT license