python 当无法连接到第二个 ip 时脚本停止?

python script stop when cannot connect to second ip?

我写了一个 python 脚本来读取 10 行中的一些 ip。 这些行用 for 循环调用并用 ssh 连接。 当脚本无法连接到第三个IP时,脚本停止

#!/usr/bin/python3.6

import paramiko
import sys
import os
with open('list2', 'r') as ip:
  ip = ip.readlines()
  for i in ip:
    i = i.rstrip("\n").split(":")[1]
    print('=========================BEGIN=========================')
    print(i)
    host = i
    user = 'root'
    password = '123456'
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    conn =  ssh.connect(host, username=user, password=password)
    stdin, stdout, stderr = ssh.exec_command("hostname")
    a = stdout.read().strip()
    stdin, stdout, stderr = ssh.exec_command("echo hello")
    b = stdout.read().strip()
    print ( str(a) + "" + str(b) + '\n' )
print('==========================END===========================')

即使 ip 不可用,脚本如何继续?

import paramiko
import sys
import os
with open('best.txt', 'r') as ip:
    for i in ip:
        try:
            i=i.strip('\n').split(":")
            host = i[0]
            port = i[1]
            print('=========================BEGIN=========================')
            print(host)
            user = 'root'
            password = '123456'
            ssh = paramiko.SSHClient()
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            conn =  ssh.connect(hostname=host, username=user, password=password, port=port)
            stdin, stdout, stderr = ssh.exec_command("hostname")
            a = stdout.read().strip()
            stdin, stdout, stderr = ssh.exec_command("echo hello")
            b = stdout.read().strip()
            print ( str(a) + "" + str(b) + '\n' )
        except paramiko.ssh_exception.NoValidConnectionsError:
            pass
print('==========================END===========================')