我的python版本是2.7.2,我的操作系统是win XP。
这是我的剧本:
import sqlite3
import os
from flask import Flask, request, session, g, redirect, url_for, \
abort, render_template, flash
DATABASE = 'C:\Python27\flaskr.db'
DEBUG = True
SECRET_KEY = 'development key'
USERNAME = 'admin'
PASSWORD = 'default'
app = Flask(__name__)
app.config.from_object(__name__)
def connect_db(): return sqlie3.connect(app.config['DATABASE']
if __name__ == '__main__':
app.run()
当我将它作为带有python shell的模块运行时出现错误。
if __name__ == '__main__':
app.run()
在“:”处是空闲的地方给出了错误消息,即语法无效。 但我几乎找不到任何语法错误。
答案 0 :(得分:5)
您错过了关闭一个括号:
def connect_db(): return sqlie3.connect(app.config['DATABASE']
应该是:
def connect_db(): return sqlie3.connect(app.config['DATABASE'])
它一直到:
的原因是Python试图将其解释为conditional expression:
def connect_db(): return sqlie3.connect(app.config['DATABASE'] if __name__ == '__main__': ...
但是因为:
不能成为有效boolean operation的一部分,所以它会给你这个可爱的语法错误。