2013-03-18 74 views
0

我的python版本是2.7.2,我的操作系统是win XP。我的python脚本中的IndentationError

这是我的脚本:

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

在“:”的位置是空闲给出错误信息,表明存在无效语法的地方。 但我几乎找不到任何语法错误。

回答

5

你已经错过了在关闭一个括号:

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

它应该是:

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

它去所有的方式向:的原因就是,Python试图解释为a conditional expression

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

但因为:不能成为有效的boolean operation的一部分,它给你这个可爱的语法错误。

+0

哦,什么是明显的错误!我应该更加小心。谢谢! – Edward 2013-03-18 08:16:10