1
У меня проблема с глобальной переменной. Он возвращает ошибкуГлобальная переменная не определена - 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()
Вы пытались обойти это, передав функции «b»? В любом случае, как правило, предпочтение отдается глобальному использованию. Что такое b? Это класс? – oxrock
Да, это объект класса. Я не могу этого сделать, потому что поиск функции явно не вызван. Я не знаю, как передать b функции поиска. –