Вы создаете несколько различных объектов, которые вы на короткое время называете c
, когда вы проходите цикл. Если вы хотите иметь доступ к более чем последнему из них, вам нужно сохранить их где-то, что не будет перезаписано. Вероятно, наилучшим подходом является использование списка для хранения последовательных значений, но в зависимости от ваших конкретных потребностей может также иметь смысл другая структура данных (например, используя словарь, вы можете искать каждое значение по определенному ключу).
Вот тривиальный корректировка текущего кода, который сохранит c
значения в списке:
c_list = []
for s in servers:
c = rconprotocol.Rcon(s[0], s[2],s[1])
t = threading.Thread(target=c.connect)
t.start()
c.messengers(allmessages, 10)
c_list.append(c)
Позже вы можете получить доступ к любому из c
значений с c_list[index]
, или итерацию с for c in c_list
.
Чуть более версия Pythonic может использовать список понимание, а не append
, чтобы создать список (это также показывает, что петля над c_list
позже один может выглядеть):
c_list = [rconprotocol.Rcon(s[0], s[2],s[1]) for s in servers]
for c in c_list:
t = threading.Thread(target=c.connect)
t.start()
c.messengers(allmessages, 10)