在调试代码过程中发现之前能够跑通的python3代码,功能是将csv格式的文件转换为xml格式文件,但是出现的问题是在读取csv文件后,未按照读取打印的顺序加入到xml中
观察到加入的顺序貌似是按照了数据title的首字母顺序内容来进行的排序,换了一台电脑运行后未出现这种情况,对比差异为python的版本差异,出现问题的电脑是3.6.1的版本
尝试进行如下测试
from xml.dom.minidom import Document
doc = Document()
dataRoot = doc.createElement('ProdLogs')
print(type(dataRoot))
dataRoot.setAttribute("name","cyan")
dataRoot.setAttribute("sex","male")
dataRoot.setAttribute("amazing","yes")
doc.appendChild(dataRoot)
xmlFile = open("out"+'.xml','w')
xmlFile.write(doc.toprettyxml(indent = '\t'))
xmlFile.close()
两个版本的数据各有不同
3.6.1:
3.8.10:
一开始怀疑是通过字典的自排序实现的,因为3.6之后出现了字典自动排序的更新特性,但是验证后发现不是,暂时还没有找到官方文档对其改变进行说明,欢迎了解的大佬评论说明