Ich bin neu in Python. Ich versuche ein Skript zu erstellen, um die MySQL-Datenbank zu sichern. Ich habe config.yml DateiWie aus YAML-Datei in Python lesen
DB_HOST :'localhost'
DB_USER : 'root'
DB_USER_PASSWORD:'[email protected]$$w0rd'
DB_NAME : 'moodle_data'
BACKUP_PATH : '/var/lib/mysql/moodle_data'
Jetzt muss ich diese Datei lesen.
import yaml
config=yaml.load(open('config.yml'))
print (config.DB_NAME)
Und hier ist ein Fehler kommt auf.
file "conf.py", line 4, in <module>
print (config.DB_NAME)
AttributeError: 'str' object has no attribute 'DB_NAME'
Hat jemand eine Idee, wo ich Fehler gemacht habe?
Willkommen bei SO. Die Frage mag einfach sein, die Formatierung ist gut und alle nützlichen Elemente sind hier. Genießen Sie Ihren Aufenthalt und vergessen Sie nicht, eine Antwort als genehmigt zu markieren, wenn Ihre Frage vollständig beantwortet wird. – spectras
Sie sollten 'yaml.load()' nicht verwenden, da es unsicher sein kann und aus Ihrer Frage sieht es so aus, als ob Sie es nicht tun Wenn Sie betroffen sind oder nicht, sollten Sie keine Erfahrung mit der Beurteilung haben (verwenden Sie stattdessen ".safeload()"). Ihr Code hat auch ein Problem, wenn das Lesen von 'config.yml' einen Fehler (beim Parsen) auslöst. In diesem Fall wird Ihre Datei möglicherweise nicht ordnungsgemäß geschlossen.Sie sollten die Anweisung 'with' verwenden – Anthon