我的python脚本中的IndentationError

时间:2013-03-18 08:11:57

标签: python

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

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

1 个答案:

答案 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的一部分,所以它会给你这个可爱的语法错误。