我无法弄清楚如何导入在函数和类中的循环中创建的变量。然后我会有错误“AttributeError:”示例“对象没有属性”地址“。
看起来像这样:
a.py
class Example():
global address
address = ""
def __init__(self):
pass
def loop_function(self, cam):
for i in imageZbar.symbols:
print(i.data)
address = i.data
return address
b.py
from a import Example
from flask import Flask,render_template
app = Flask(__name__)
app.route("/example/")
def blabla():
imported_address = Example.address
return render_template("example.html", imported_address = imported_address)
答案 0 :(得分:0)
只需删除第global address
行
答案 1 :(得分:0)
不确定为什么当它表现得像一个类成员时放置一个全局...为什么不使用:
a.py
class Example():
def __init__(self):
self.address = ""
def loop_function(self, cam):
for i in imageZbar.symbols:
print(i.data)
self.address = i.data
return self.address
b.py
from a import Example
app = Flask(__name__)
eg = Example()
cam = None # I do not see anywhere this variable
eg.loop(cam)
app.route("/example/")
def blabla():
return render_template("example.html", imported_address = eg.address)
如果你不需要它像一个类(即只想使用循环函数),为什么甚至懒得创建一个类,为什么不创建一个函数。另外,为什么它必须是全球性的?
顺便说一句,检查注释,你有一个变量cam的错误...我没有看到你在代码中的任何地方初始化它另外,你没有显示你在哪里:
imageZbar.symbols
据我所知,这应该是循环函数的参数