在同一行打印 2 个值,来自 2 个 for 循环
Print 2 values in the same line, from 2 for loops
我正在尝试在 python 中编写一个程序,该程序使用 pysnmp 通过 snmp 读取远程终端单元 (RTU) 中的值。
问题是:在 RTU 中,每个接口都有 2 个传感器:温度和湿度。
我可以打印,但时间不同。我需要做的是在同一行中打印这两个值。
这是我目前所掌握的。
list = []
list1 = []
OID = "iso.3.6.1.4.1.3699.1.1.2.1.5.1.1.3."
UAD = "iso.3.6.1.4.1.3699.1.1.2.1.5.1.1.7."
for omega in range(1,33):
UAD1 = UAD + str(omega)
list.append(UAD1)
for altarf in range(1,33):
OID1 = OID + str(altarf)
list1.append(OID1)
# this value gives me the interface description
for auriga in lista1:
sistema = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(( hostname, 161)),auriga
)
interfaz = sistema[3][0][1]
print("Estado interfaz ") + str(interfaz)
# this value return the (temp / humidity) of sensors in every interface
for Sculptor in lista:
Sextans = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(( hostname, 161)),Sculptor
)
entrega = Sextans[3][0][1]
entrega = float(entrega) * 0.1
print "sensor " + str(entrega)
您可以或多或少地使用 zip
函数组合两个循环(和列表)。
for auriga, Sculptor in zip(lista1, list):
sistema = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(( hostname, 161)),auriga
)
interfaz = sistema[3][0][1]
Sextans = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(( hostname, 161)),Sculptor
)
entrega = Sextans[3][0][1]
entrega = float(entrega) * 0.1
print "Estado interfaz " + str(interfaz),
print "sensor " + str(entrega)
(注意第一个打印语句后的尾随逗号。如果愿意,您也可以将它们全部组合在一个打印语句中:
print "Estado interfaz " + str(interfaz) + "sensor " + str(entrega)
我正在尝试在 python 中编写一个程序,该程序使用 pysnmp 通过 snmp 读取远程终端单元 (RTU) 中的值。
问题是:在 RTU 中,每个接口都有 2 个传感器:温度和湿度。
我可以打印,但时间不同。我需要做的是在同一行中打印这两个值。
这是我目前所掌握的。
list = []
list1 = []
OID = "iso.3.6.1.4.1.3699.1.1.2.1.5.1.1.3."
UAD = "iso.3.6.1.4.1.3699.1.1.2.1.5.1.1.7."
for omega in range(1,33):
UAD1 = UAD + str(omega)
list.append(UAD1)
for altarf in range(1,33):
OID1 = OID + str(altarf)
list1.append(OID1)
# this value gives me the interface description
for auriga in lista1:
sistema = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(( hostname, 161)),auriga
)
interfaz = sistema[3][0][1]
print("Estado interfaz ") + str(interfaz)
# this value return the (temp / humidity) of sensors in every interface
for Sculptor in lista:
Sextans = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(( hostname, 161)),Sculptor
)
entrega = Sextans[3][0][1]
entrega = float(entrega) * 0.1
print "sensor " + str(entrega)
您可以或多或少地使用 zip
函数组合两个循环(和列表)。
for auriga, Sculptor in zip(lista1, list):
sistema = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(( hostname, 161)),auriga
)
interfaz = sistema[3][0][1]
Sextans = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(( hostname, 161)),Sculptor
)
entrega = Sextans[3][0][1]
entrega = float(entrega) * 0.1
print "Estado interfaz " + str(interfaz),
print "sensor " + str(entrega)
(注意第一个打印语句后的尾随逗号。如果愿意,您也可以将它们全部组合在一个打印语句中:
print "Estado interfaz " + str(interfaz) + "sensor " + str(entrega)