我是Python新手。我试图做一个脚本来备份mysql数据库。我有config.yml文件如何从Python中的yaml文件读取
DB_HOST :'localhost'
DB_USER : 'root'
DB_USER_PASSWORD:'[email protected]$$w0rd'
DB_NAME : 'moodle_data'
BACKUP_PATH : '/var/lib/mysql/moodle_data'
现在我需要阅读这个文件。
import yaml
config=yaml.load(open('config.yml'))
print (config.DB_NAME)
这里是一个错误出现。
file "conf.py", line 4, in <module>
print (config.DB_NAME)
AttributeError: 'str' object has no attribute 'DB_NAME'
有没有人有一个想法,我犯了错误?
欢迎SO BTW。问题可能很简单,格式很好,所有有用的元素都在这里。享受您的逗留,并且当您的问题得到完全解答时,请不要忘记标记答案为已批准:) – spectras
您不应该使用'yaml.load()',因为它可能是不安全的,并且从您的问题看起来您不喜欢如果你受到影响,没有经验可以正确判断(改用'.safeload()')。如果读取'config.yml'会引发错误(解析时),那么你的代码也有问题,在这种情况下你的文件可能没有被正确关闭。你应该使用'with'语句 – Anthon