0

我的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()

就在“:”是空闲给出错误消息的地方,即存在无效的语法。但我几乎找不到任何语法错误。

4

1 回答 1

5

您错过了在以下位置关闭一个括号:

def connect_db(): return sqlie3.connect(app.config['DATABASE'] 

它应该是:

def connect_db(): return sqlie3.connect(app.config['DATABASE'])

它一直到 的原因:是 Python 试图将其解释为条件表达式

def connect_db(): return sqlie3.connect(app.config['DATABASE'] if __name__ == '__main__': ...

但是因为:不能成为有效布尔运算的一部分,所以它会给你这个可爱的语法错误。

于 2013-03-18T08:13:00.987 回答