Ich habe eine Python-Funktion, die eine YAML-Datei öffnen und die Daten lesen wird. Die YAML-Datei enthält zwei API-Schlüssel und eine Domäne. Ich möchte jeden Wert in einem Wörterbuch zurückgeben, damit es im Programm verwendet werden kann. Allerdings bekomme ich den FehlerWie man Daten von einer Yml-Datei erhält, um dann als ein Wörterbuch zurückzukommen
"Liste Indizes müssen Ganzzahlen sein, nicht str".
Sollte ich nur die Variablen global machen, so dass es nichts zurückgeben muss?
Der Code ist:
def ImportConfig():
with open("config.yml", 'r') as ymlfile:
config = yaml.load(ymlfile)
darksky_api = config['darksky']['api_key']
gmaps_api = ['gmaps']['api_key']
gmaps_domain = ['gmaps']['domain']
return {'darksky_api_key': darksky_api, 'gmaps_api_key': gmaps_api, 'gmaps_domain': gmaps_domain }
Was bedeutet es, dass die Liste Indizes ganze Zahlen sein müssen? Ich dachte, geschweifte Klammern deuten auf ein Wörterbuch hin? Gibt es auch einen besseren Weg, dies zu tun?
Wie sieht die YAML-Datei aus? – miken32
darksky: api_key: abc12 gmaps: api_key: abc123 Domain: maps.google.co.uk –