輸入查找定義的列表內的字典的鍵值是頭看起來像簡單的CSV文件:,通過匹配字典值
dc,environment,type,component,fqdn,distribution,release
1,prod,web,fo,aa,ubuntu,14.04.5
它是由csv.DictReader(csv)
裝入server_list
:
def get_server(**kwargs):
f = open("servers.dat", 'rt')
try:
reader = csv.DictReader(f)
server_list = []
for row in reader:
server_list.append(row)
finally:
f.close()
列表包括:
{'component': 'a', 'dc': '1', 'fqdn': 'aa', 'environment': 'prod', 'release': '14.04.5', 'distribution': 'ubuntu', 'type': 'web'}
{'component': 'a', 'dc': '1', 'fqdn': 'bb', 'environment': 'prod', 'release': '14.04.5', 'distribution': 'ubuntu', 'type': 'web'}
{'component': 'b', 'dc': '1', 'fqdn': 'cc', 'environment': 'prod', 'release': '12.04.5', 'distribution': 'ubuntu', 'type': 'web'}
{'component': 'a', 'dc': '1', 'fqdn': 'dd', 'environment': 'test02', 'release': '14.04.5', 'distribution': 'ubuntu', 'type': 'web'}
我想獲得v當輸入將是例如fqdn
時。來自python函數的例如dc = 1 and component = a
get_foo(dc='1', component='a', environment=None)
和defined def get_foo(**kwargs)
或不同。只有結果是必需的。
因此,在這種情況下,預期的結果是所有的這些線,除了第3位。
謝謝你,你的dict
S,這樣的事情的清單
這是一個文件的內容通過關鍵字參數呢?這不是一個有效的數據結構。還包括你有什麼嘗試。 –
歡迎使用stackoverflow。爲了獲得幫助,你需要展示1)你的輸入是什麼樣的,2)期望的輸出是什麼樣的,3)你的需求,最重要的是:4)你試過了什麼。見https://stackoverflow.com/help/how-to-ask –
你是對的。問題已更新。謝謝你的建議。 – Neurobion