У меня есть следующий код python, использующий API twisted.
def function(self,filename):
def results(result):
//do something
for i in range(int(numbers)) :
name = something that has to do with the value of i
df = function_which_returns_a defer(name)
df.addCallback(results)
Он использует API Twisted. Я хочу добиться того, чтобы передавать в вызываемую функцию (results) значение имени, которое строится в каждой итерации, не изменяя содержимого функции functions_which_returns_a defer() вместе с объектом deferred, конечно. В каждом результате функции functions_which_returns_a deffer значение имени должно быть передано в results(), чтобы с этим что-то сделать. Т.е.: на первой итерации, когда выполнение достигает функции results, мне нужно, чтобы функция удерживала результат отложенного объекта вместе со значением имени, когда i=0, затем, когда i=1, отложенный объект будет передан со значением имени, и так далее. Таким образом, мне нужно, чтобы каждый раз результат отложенного объекта при вызове с переменной name был вместе с переменной name. Когда я пытаюсь напрямую использовать значение nameinside results(), оно всегда сохраняет значение последней итерации, что рационально, так как функция function_which_returns_a defer(name) не вернулась.