i'y new writing scripts in python know can have list inside dictionary can have dictionary inside list?
my example i'm trying execute script on list of linux servers. have 1 dictionary such (the details blocked obvious reasons):
list1 = { 'ip_' : '@ipaddr', 'username_' : '@user', 'password_' : '@passwd', 'dirlocation' : '@dir' } and then...
ssh.connect(list1['ip_'], port=22, username=list1['username_'], password=list1['password_']) but possible have like:
serverlist = { list1 = { 'ip_' : '@ipaddr', 'username_' : '@user', 'password_' : '@passwd', 'dirlocation' : '@dir' } list2 = { 'ip_' : '@ipaddr', 'username_' : '@user', 'password_' : '@passwd', 'dirlocation' : '@dir' } } and create loop such?
for listobj in serverlist: ssh.connect(serverlist.listobj['ip_'], port=22, username=listobj['username_'], password=listobj['password_']) this see silly question many help!
it's possible. can either have dict of dict:
>>> serverdict = { ... ... 'list1': { ... 'ip_' : '@ipaddr1', ... 'username_' : '@user', ... 'password_' : '@passwd', ... 'dirlocation' : '@dir' ... }, ... ... 'list2': { ... 'ip_' : '@ipaddr2', ... 'username_' : '@user', ... 'password_' : '@passwd', ... 'dirlocation' : '@dir' ... } ... } or list:
>>> serverlist = [ ... ... { ... 'ip_' : '@ipaddr1', ... 'username_' : '@user', ... 'password_' : '@passwd', ... 'dirlocation' : '@dir' ... }, ... ... { ... 'ip_' : '@ipaddr2', ... 'username_' : '@user', ... 'password_' : '@passwd', ... 'dirlocation' : '@dir' ... } ... ] and can iterate through dict
>>> k,v in serverdict.items(): ... print k, v['ip_'] ... list1 @ipaddr1 list2 @ipaddr2 >>> k in serverdict.keys(): ... print serverdict[k]['ip_'] ... @ipaddr1 @ipaddr2 >>> v in serverdict.values(): ... print v['ip_'] ... @ipaddr1 @ipaddr2 or list:
>>> in serverlist: ... print i['ip_'] ... @ipaddr1 @ipaddr2
Comments
Post a Comment