У меня есть функция в моей основной программе, которая пытается извлечь информацию из импортированного модуля, который является другим написанным мной сценарием. Этот модуль выплевывает переменную, доступную мне из основной программы, делая ее глобальной.Доступ к локальной переменной в функции из модуля
Однако, поскольку я передаю информацию, запрашивающую информацию, глобальная переменная загрязняется путем добавления информации из отдельных запросов в один var. Я ищу способ доступа к локальной переменной в функции в модуле.
Основная программа:
import module
def threaded_function():
module.function(var1, var2)
print module.output
Модуль:
def function(var1, var2):
global output
output = []
DoThingsWithVars(var1, var2)
output.append(result)
Поскольку нарезание резьбы заставляет его получить доступ несколько раз я понял, я бы не использовать глобальные переменные и получить локальные переменные для каждого запроса , Любая идея, как я могу справиться с этим?
Простите мой сарказм, но вы знаете о возвращаемых значениях, не так ли? Почему бы вам просто не вернуть значения, вычисленные вашей функцией вызывающему? –
Как сказал Space_COwbOy, просто верните выходной список из функции. –
", так как я потоковеду функцию, запрашивающую информацию, глобальную переменную" Это ваша проблема. Threading и Globals не могут использоваться вместе. Остановить сейчас. Сделайте что-то другое. –