python执行if和else语句

时间:2017-10-26 13:49:25

标签: python

我遇到的问题是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')

2 个答案:

答案 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