У меня есть файл yaml со следующей структурой:
это test.yaml
server:
- host: ubuntu
ip: 10.20.30.40
path: /var/log/syslog
- host: ubuntu
ip: 10.20.3.50
path: /var/log/syslog
Когда я вызываю свой скрипт на python, я загружаю файл yaml и анализирую содержимое,Я не могу перебрать все содержимое:
Как мне создать список в следующем формате:
import yaml
def read_yaml(file):
with open(file, "r") as stream:
try:
config = yaml.load(stream)
print("inside the function")
# print(config)
except yaml.YAMLError as exc:
print(exc)
print("\n")
return config
d = read_yaml("config.yaml")
print('{host}@{ip}:{path}'.format(*d['server']))
Я хочу вывод с host @ ip: path для разных серверов вфайл yaml.Но приведенная выше команда не работает и генерирует ошибку: аргумент TypeError: format () после ** должен быть отображением, а не списком или KeyError: Host
, пожалуйста, помогите.