Python创建字典来将单词连接到数字

问题描述 投票:0回答:1

因此,我正在编写适用于一种设备的脚本(进行自动化)。例如,我有一台具有IP的设备,因此目前我的代码设置中带有一个变量。 ip1 = 127.0.0.1但是现在我希望能够触摸大约100台设备,因此我想创建一个文件或最佳建议,例如:

Device 1 127.0.0.1
Device 2 127.0.0.2

一旦调用或,代码就会执行。我认为最好的方法是创建“词典文件”,有人可以为此指出正确的方向吗?还是我将创建一个包含两列的CSV文件?最佳推荐方法是什么?似乎有人告诉我创建字典文件,但是我不确定这意味着什么。

我的代码目前类似于

ip1 = "127.0.0.0.1"

username = "username"
password = "password"

print("\nHello, user You are connecting to ", ip, "\n")

ssh_conn = paramiko.SSHClient()
ssh_conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_conn.connect(ip, port=22, username=username,
                     password=password,
                     look_for_keys=False, allow_agent=False)

因此,为了再次说明一下,我希望将ip1 =替换为一个文件,该文件将存储将近10-100个IP地址,并根据“设备名称”执行代码。

我知道一个例子如下:

released = {
    "iphone": 2007,
    "iphone 3G": 2008,
    "iphone 3GS": 2009,
    "iphone 4": 2010,
    "iphone 4S": 2011,
    "iphone 5": 2012
}

for item in released:
    if "iphone 5" in released:
        print("Key found")
        break
    else:
        print("No keys found")

但是如果我要添加100个关键值,该怎么办。预先感谢我的专家。

python dictionary paramiko
1个回答
0
投票

您可以使用CSV文件存储所有IP及其对应的主机名,例如,

Device 1,127.0.0.1
Device 2,127.0.0.2

然后您可以使用csv模块内置的python将这些数据读入字典,例如

import csv

info = {}
with open("master.csv", "r") as file:
    reader = csv.reader(file)
    for item in reader:
        info[item[0]] = item[1]

然后您可以询问用户,要连接的设备名称?

device = input("Device name: ")
ip = info.get(device, None) #--> get the ip address from the info dict

如果IP不是None,则可以连接用户。希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.