我有帶有這種樣式資料的記事本:
10.0.0.1 管理員管理員 10.0.0.2 管理員管理員 10.0.0.3 管理員管理員
我想從記事本中獲取這些資料并將其匯入 python 字典,其中鍵值將是 "ip":"10.0.0.1", "name":"admin","passwd":"admin" 并且通過回圈我會放那些關鍵值讓 netmiko 一一連接每個設備。但是不知道如何將這些資料從記事本轉換為字典:(
uj5u.com熱心網友回復:
假設您的檔案確實按照給定的方式分隔了一行,并且您真正想要的是一個字典串列,這是一個選項。
np = "10.0.0.1 admin admin 10.0.0.2 admin admin 10.0.0.3 admin admin"
tokens = np.split()
dicts = []
while tokens:
dicts.append({"pass": tokens.pop(), "user": tokens.pop(), "ip": tokens.pop()})
[print(d) for d in dicts]
產生:
? python np.py
{'pass': 'admin', 'user': 'admin', 'ip': '10.0.0.3'}
{'pass': 'admin', 'user': 'admin', 'ip': '10.0.0.2'}
{'pass': 'admin', 'user': 'admin', 'ip': '10.0.0.1'}
uj5u.com熱心網友回復:
如何將檔案讀入 Python,然后將其拆分為一個串列,然后將每個串列項拆分為一個 dict:在文本檔案行中添加了名稱和密碼丟失的可能性,只留下 IP 作為可用變數。
dir = r"C:\Users\username\Desktop\"
with open(fr"{dir}file.txt", "r") as f:
a = f.read().splitlines()
a_list = [item.split(" ") for item in a]
for network in a_list:
if len(network) != 3:
network_dict = {"ip": network[0], "name": "default_name", "passwd": "default_password"}
else:
network_dict = {"ip": network[0], "name": network[1], "passwd": network[2]}
#do whatever is needed with the dict here
如果你想有一個目錄作為一個變數,使用raw string這樣
dir = r"C:\Users\username\Desktop\"
這樣您就不必轉義包括反斜杠在內的特殊字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/341428.html
