问题现象:使用yaml.load时报错,没有参数loader,但是实际是写了这个参数的,代码如下:
import yaml class YamlUtil: def __init__(self,yaml_file): '''通过init方法把yaml文件传入这个类''' self.yaml_file = yaml_file #读取yaml文件 def read_yaml(self): '''读取yaml,对yaml反序列化,把yaml格式转换成字典格式''' with open(self.yaml_file,'r') as f: value = yaml.load(f,loader=yaml.FullLoader) print(value) if __name__ == '__main__': YamlUtil('test.yaml').read_yaml()
返回错误信息:TypeError: load() got an unexpected keyword argument 'loader'
解决办法:由于使用的python3,不需要参数'loader=',直接写入参数值就可以了,代码如下:
value = yaml.load(f,yaml.FullLoader)
读取yaml文件成功