写入的yaml格式不对
来源:5-9 通过yaml文件获取命令行数据

qq_毅笑而过_0
2020-03-03
完全copy老师的代码,只不过我是在python3中运行,发现写入的yaml格式不正确。
代码:
def write_data(self,i,device,bp,port):
'''
写入数据
'''
data = self.join_data(i,device,bp,port)
with open("../config/userconfig.yaml","a") as fr:
yaml.dump(data,fr)
def join_data(self,i,device,bp,port):
data = {
"user_info_"+str(i):{
"deviceName":device,
"bp":bp,
"port":port
}
}
return data
运行完的结果:
用记事本打开检查encoding是UTF-8,language也识别了YAML。
尝试了在yaml.dump里加上encoding参数,结果还是一样。
def write_data(self,i,device,bp,port):
'''
写入数据
'''
data = self.join_data(i,device,bp,port)
with open("../config/userconfig.yaml","a") as fr:
yaml.dump(data,fr,encoding='utf-8')
写回答
1回答
-
qq_毅笑而过_0
提问者
2020-03-03
已经解决,需要加一个参数
default_flow_style=True
def write_data(self,i,device,bp,port): ''' 写入数据 ''' data = self.join_data(i,device,bp,port) with open("../config/userconfig.yaml","a") as fr: yaml.dump(data,fr,encoding='utf-8', default_flow_style=True)
012020-03-03
相似问题