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를 검색 기능에 전달하는 방법을 모르겠습니다. –