无法在python中同步两个"for循环"

Chi*_*x89 2 python synchronization for-loop

我有两个列表,第一个列表是ssh到的主机名,第二个列表是要在给定主机名上查找的隧道.我需要列表主机名中的第一项才能仅运行列表隧道中的第一项.然后我需要列表主机名中的第二项只运行列表隧道中的第二项.以下是我使用的示例,但显然不适合我.

hostnames = ["router1", "router2"]
tunnels = ["Tu1000", "Tu5000"
for i in range (0, len(hostnames)):
 try:

        ssh1 = paramiko.SSHClient()
        ssh1.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh1.connect(hostnames[i], port=22, username=username, password=password, look_for_keys=False, allow_agent=False)
        print "SSH connection to %s established.\n" % hostnames[i].upper()
        ssh = ssh1.invoke_shell()
        for j in range(0, len(tunnels)):

            ssh.send("!\n")
            ssh.send("en\n")
            ssh.send(password)
            ssh.send("\n!\n")
            time.sleep(1)
            output = ssh.recv(65535)

            ssh.send("sh int desc | i " + tunnels[j] + "\n")
            time.sleep(1)
            output = ssh.recv(65535)
            output = output.split(" ")
            cli_hostname = output[55]
Run Code Online (Sandbox Code Playgroud)

Yas*_*ain 7

你可以试试这样的东西 -

hostnames = ["router1", "router2"]
tunnels = ["Tu1000", "Tu5000"]
for hostname, tunnel in zip(hostnames, tunnels):
  # Do stuff with `hostname` and `tunnel`
  ....
Run Code Online (Sandbox Code Playgroud)

在这里阅读有关zip功能.

阅读有关元组拆包的信息.