python - 将 .xml 文件直接转换为 .txt 文件...无需解析
问题描述
我有一些 .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
需要解决什么问题?
解决方案
只需将数据读取为字符串(或字节,如果需要)并将其写为不同的扩展名......
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')
推荐阅读
- windows - Git错误:无法提交特定文件-无法创建临时文件:参数无效,无法插入数据库,无法处理路径
- flutter - 屏幕底部和安全区域之间的颤动位置小部件
- azure-devops - Azure Devops 拉取请求 - 如果用户在分支上工作,则阻止他们批准请求
- vue.js - 重复模态 insde v-for
- api - flutter_staggered_grid_view 来自 api 提要的无限滚动
- wordpress - 如何允许在邮箱中使用简码
- python - 我想通过将文件加载到已经存在的字段来更新数据库,但发生错误
- python - Pythonic 修改
- php - 如何在laravel上传之前调整图像大小?
- python - Pygame & Tkinter 音乐播放器