Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每次使用python循环时,是否可以保存分配给一个变量的所有值?_Python_Loops_Variables_Pysnmp - Fatal编程技术网

每次使用python循环时,是否可以保存分配给一个变量的所有值?

每次使用python循环时,是否可以保存分配给一个变量的所有值?,python,loops,variables,pysnmp,Python,Loops,Variables,Pysnmp,我有下面的snmp get代码,工作正常,但当我尝试使用接口号循环“t”提取设备(wlc)上的所有序列号时,它与打印功能配合良好,但当它将其保存到变量vaBinds[3][1]中时,它只保存最后一个序列号。如何在每次循环时保存所有变量值 不确定我的问题是否有意义,但请尽可能提供帮助。先谢谢你 for t in range(1, 3): t = str(t) t.strip() errorIndication

我有下面的snmp get代码,工作正常,但当我尝试使用接口号循环“t”提取设备(wlc)上的所有序列号时,它与打印功能配合良好,但当它将其保存到变量vaBinds[3][1]中时,它只保存最后一个序列号。如何在每次循环时保存所有变量值

不确定我的问题是否有意义,但请尽可能提供帮助。先谢谢你

        for t in range(1, 3):
            t = str(t)
            t.strip()

            errorIndication, errorStatus, errorIndex, varBinds = next(
                getCmd(SnmpEngine(),
                       CommunityData(item, mpModel=0 or 1),
                       UdpTransportTarget((str(i), 161), timeout=0, retries=0),
                       ContextData(),
                       ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysName', 0)),  # 0
                       ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysLocation', 0)),  # 1
                       ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysContact', 0)),  # 2
                       ObjectType(ObjectIdentity('ENTITY-MIB', 'entPhysicalSerialNum', t)),  # 3
                       ObjectType(ObjectIdentity('ENTITY-MIB', 'entPhysicalModelName', t))),  # 4

            )
            # print(varBinds[3][1])

            if errorIndication:
                print(errorIndication)
            elif errorStatus:
                print('%s at %s' % (errorStatus.prettyPrint(i),
                                    errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))  # error exceptions

            else:
                for varBind in varBinds:
                    B = varBinds[0]

如果我有你的问题,你正在引用一个值,它位于可变容器数据结构的某个地方。由于是可变的,它在每次调用时都会发生变异

如果是这种情况,也许您可以在每次迭代中引用标量(不可变)值:

 my_values = []

 for t in range(1, 3):
     # perform SNMP GET
     ...
     my_values.extend((vb[0], vb[1]) for vb in var_binds)

欢迎使用StackOverflow(您的帐户似乎是新的)。小建议,您应该将代码减少到最小的可重复问题。当你把完整的代码放在这里时,读者会觉得有责任为你解决这个问题。AsTeR是对的,总是尝试提供一个