私は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)
単に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')
Python3では次のようになります。
except InvalidUserPass as e:
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
問題は解決されます。