You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python复制XML文件并修改后保存到本地桌面?

实现XML文件复制修改并保存到桌面的方案

你的代码存在两个关键问题:一是mytree变量未定义,二是直接写入原文件会覆盖原始内容,无法保留副本。以下是完整的实现方案:

核心步骤

  1. 读取原始XML文件
  2. 对XML内容执行所需修改操作
  3. 获取系统桌面路径,将修改后的内容保存到桌面的新文件中(不覆盖原文件)

完整代码

import xml.etree.ElementTree as ET
import os

# 获取跨系统通用的桌面路径(适配Windows、Mac、Linux)
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
# 原始XML文件路径(若文件不在脚本同目录,请填写完整路径)
original_xml = 'test.xml'
# 桌面保存的新文件名(可自定义)
saved_xml = os.path.join(desktop_path, 'modified_test.xml')

# 读取原始XML文件
tree = ET.parse(original_xml)
root = tree.getroot()

# ---------------------- 此处编写你的修改逻辑 ----------------------
# 示例1:修改指定标签的文本内容
for item in root.findall('product'):  # 替换为你XML中的实际标签名
    item.find('price').text = '99.9'

# 示例2:新增一个子标签
new_tag = ET.SubElement(root, 'update_info')
new_tag.text = '2024-05-20 已更新内容'
# ---------------------------------------------------------------

# 将修改后的内容保存到桌面新文件
tree.write(saved_xml, encoding='utf-8', xml_declaration=True)

关键说明

  • 用os.path.expanduser("~")获取用户主目录再拼接Desktop,确保在不同操作系统下都能正确定位桌面路径
  • 保存时指定encoding='utf-8'和xml_declaration=True,避免出现乱码或缺失XML头部声明的问题
  • 必须保存到新文件名(如示例中的modified_test.xml),这样原始文件会被保留,修改后的内容存于桌面副本中
  • 修改逻辑需根据你的实际XML结构调整,比如findall和find中的标签名要与XML元素完全匹配

内容的提问来源于stack exchange,提问作者Starlight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 00:05:20