我有一个对象,有几个方法。一个方法包括一堆嵌套的if语句,我想为它们返回某些值。 该方法在外部.py文件的for循环中调用。问题是,返回值永远不会到达外部文件,因此我无法处理返回值。你知道吗
for循环和方法调用都在芹菜任务中,因为这是web应用程序(flask)上的一个长时间运行的任务
任务.py
@celery.task
def LongRunningTask(foo, bar, ...):
instance = Object(foo, bar, ...)
list_containing_elems = [....]
variable1 = 0
variable2 = 0
for elem in list_containing_elems:
instance.method(foo, variable1, variable2)
print(f"Here should the returned {variable1} and {variable2} be displayed")
对象.py
class Object():
def __init__(self, ...):
[...]
def method(self, foo, variable1, variable2):
[...]
if statement1:
[...]
if statement2:
[...]
if statement3:
[...]
variable1 += 1
return variable1
else:
[...]
variable2 += 1
return variable2
else:
[...]
else:
[...]
我希望,返回的(和递增的)变量将被传递给任务.py打印声明-但事实并非如此。你知道吗
我真的很累,…可能是因为外面很暖和。你知道吗
有人知道吗?你知道吗
在最后一行中,您正在打印variable1和variable2的初始值 您需要将返回值存储在变量中: 返回值=实例.方法(foo,变量1,变量2) 然后必须打印变量(returnedValue)。你知道吗
相关问题 更多 >
编程相关推荐