Я думаю, что проблема здесь не в том, чтобы вызывать global ()
Я бы лично определил список ваших (динамических) переменных, которые будут храниться, и затем добавил бы его в цикл for.
Затем используйте отдельный цикл for для просмотра каждой записи или даже выполнения других операций.
Вот пример - у меня есть несколько сетевых коммутаторов (скажем, между 2 и 8) на разных BRanches. Теперь мне нужно убедиться, что у меня есть способ определить, сколько коммутаторов доступно (или проверено в режиме реального времени) в любой данной ветви, а затем выполнить некоторые операции над ними.
Вот мой код:
import requests
import sys
def switch_name(branchNum):
# s is an empty list to start with
s = []
#this FOR loop is purely for creating and storing the dynamic variable names in s
for x in range(1,8,+1):
s.append("BR" + str(branchNum) + "SW0" + str(x))
#this FOR loop is used to read each of the switch in list s and perform operations on
for i in s:
print(i,"\n")
# other operations can be executed here too for each switch (i) - like SSH in using paramiko and changing switch interface VLAN etc.
def main():
# for example's sake - hard coding the site code
branchNum= "123"
switch_name(branchNum)
if __name__ == '__main__':
main()
Вывод:
BR123SW01
BR123SW02
BR123SW03
BR123SW04
BR123SW05
BR123SW06
BR123SW07