全局变量未定义 - Python



我对全局变量有问题。它返回错误

search = Search.Search(pattern,b)
NameError: global name 'b' is not defined   

但是我已经定义了这个全局变量。我甚至试图将其放入搜索功能中。我认为在Windows上没有问题。我正在尝试在Linux/Unix上运行此程序。

您有什么建议如何避免此错误吗?

# -*- coding: utf-8 -*-
from flask import Flask
from flask import request
from flask import render_template

import Search
import B
app = Flask(__name__)
global b
@app.route('/')
def my_form():
    return render_template('my-form.html')
def setup():
    global b
    b = B.B()  
@app.route('/', methods=['POST'])
def search():
    global b
    from time import time
    pattern = request.form['text']
    ...
    se = Search.Search(pattern,b)
    ...
    ...
    ...
app.debug=True
if __name__ == '__main__':
    setup()
    app.run()
app = Flask(__name__)
global b

此处的global b语句实际上并没有为您创建变量。您需要自己为其分配一些内容。

app = Flask(__name__)
b = None #or whatever you want the starting value to be

最新更新