我與pyyaml工作,我需要描述YAML中的服務器配置,然後從該列表參數運行腳本:如何從列表python中提取值?
source = self._tree_read(src, tree_path)
:
servers:
- server: server1
hostname: test.hostname
url: http://test.com
users:
- username: test
password: pass
- username: test1
password: pass2
- server: server2
hostname: test.hostname2
url: http://test2.com
users:
- username: test3
password: pass
- username: test4
password: pass2
- username: test5
password: pass6
...
然後我從YAML得到這個數據
,然後我從這個名單調用帶有ARGS bash腳本:
for s in source['servers']:
try:
subprocess.call(["/bin/bash", "./servers.sh",
s["server"],
s["hostname"],
s["url"],
**s["users"]**
], shell=False)
如何傳遞用戶在這種情況下?每個服務器的用戶數量可能不同,我需要以某種方式將其作爲參數傳遞給用戶。 或者可以將每臺服務器的用戶名列表,並將密碼做相同,然後將它作爲2個參數與2個列表一起傳遞?
在subprocess.call我把: 「」加盟(USER_LIST) – BigBoss
@BigBoss也就是說上榜到既要防止類型錯誤字符串的另一種方式。 – Anthon
@安永 - 謝謝我沒有發現那個:)。如果有其他人遇到這種情況,我會將BigBoss的加入到我的答案中。 – srowland