我遇到的问题是python我们同时执行if和else语句
请看pic Pic of indent
我试过'如果没有'并且不知道其他但似乎没有任何效果。
这是我脚本的一部分。我很喜欢这个,所以我很感激你的帮助。
如果cofig中有255.255.255.252,我想读的是。 (这可以并且相应地更改配置)但是如果没有255.255.255.252,我的日志中应该有打印。
结果是:(它同时做到了)
2017-10-26 15:39:29,350 dailer 1 off IP testrouter完成 2017-10-26 15:39:29,351 dailer 1关闭IP lprm1212没有/ 30
for my_output in result0.split("\n"):
if len(my_output) !=0:
if my_output.find("255.255.255.252") != -1:
print (my_output)
tn.read_until('')
tn.write("config terminal"+"\n")
tn.read_until("(config)#")
tn.write("interface Dialer1"+"\n")
tn.read_until("(config-if)#")
tn.write("description test"+"\n")
tn.write("end"+"\n")
logger.debug('dailer 1 off IP ' + host2login + ' is completed')
else:
logger.debug('dailer 1 off IP ' + host2login + ' has no /30')
else:
logger.debug('dailer 1 off IP ' + host2login + ' has no /30')
else:
logger.debug('dailer 1 off IP ' + host2login + ' has no /30')
答案 0 :(得分:3)
你到处都有缩进。如果和其他必须在同一个缩进上像这样:
for my_output in result0.split("\n"):
if len(my_output) !=0:
if my_output.find("255.255.255.252") != -1:
print (my_output)
tn.read_until('')
tn.write("config terminal"+"\n")
tn.read_until("(config)#")
tn.write("interface Dialer1"+"\n")
tn.read_until("(config-if)#")
tn.write("description test"+"\n")
tn.write("end"+"\n")
logger.debug('dailer 1 off IP ' + host2login + ' is completed')
else:
logger.debug('dailer 1 off IP ' + host2login + ' has no /30')
在这种情况下,你的其他人属于第二个if,而第一个if则没有else的情况。
答案 1 :(得分:0)
代码的问题是缩进,如果(s)和其他相互关联的“MUST”必须处于相同的缩进级别:
# code
if x<0:
# do something
else:
# do something else
# code