我有一些.xml文件,需要以编程方式为客户转换为.txt文件。无需解析xml树以返回文本值。我实际上只是需要将文件扩展名从.xml更改为.txt。转换后的文件将包含所有xml树,包括标签等。然后,客户希望稍后对其进行解析。
到目前为止,我有:
import xml.etree.ElementTree as ET
tree = ET.parse('myfile.xml')
root = tree.getroot()
with open('myfile.txt', 'w') as f:
f.write(root)
f.close()
哪个返回错误:
Traceback (most recent call last):
File "C:/Users/myuser/Documents/Python 3 Scripts/test.py", line 5, in <module>
f.write(root)
TypeError: write() argument must be str, not xml.etree.ElementTree.Element
解决所需的修补程序是什么?
答案 0 :(得分:1)
只需将数据读取为字符串(或字节(如果需要))并将其写出为其他扩展名...
with open('myfile.xml', 'r') as file_in, open('myfile.txt', 'w') as file_out:
data = file_in.read()
file_out.write(data)
或者,如果您真的只想更改当前文件的扩展名:
import os
os.rename('myfile.xml','myfile.txt')