我是Python的初学者,并且一直在测试不同类型的示例代码。当我开始使用Python3而不是2.7;我遇到了语法错误,但我不明白如何解决这个错误。
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)
答案 0 :(得分:27)
答案 1 :(得分:7)
只需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')
答案 2 :(得分:2)
在python3中它是:
except InvalidUserPass as e:
答案 3 :(得分:0)
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
问题将得到解决。