0

私のpythonバージョンは2.7.2で、私のOSは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シェルでモジュールとして実行しているときにエラーが発生しました。

if __name__ == '__main__':
    app.run()

「:」の右側は、無効な構文があるというエラー メッセージがアイドル状態で表示された場所です。しかし、構文エラーはほとんど見つかりません。

4

1 に答える 1

5

かっこを 1 つ閉じませんでした:

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 に答える