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

Python写入类XML文本文件触发UnicodeEncodeError问题求助

解决UnicodeEncodeError: 'charmap'编解码器无法编码字符的问题

问题原因

读取文件时你指定了utf8编码,但写入新文件时未指定编码——Windows环境下Python默认使用系统默认编码(比如cp1252),而原文件包含cp1252无法映射的特殊字符,直接触发编码失败。

解决方案

打开输出文件时显式指定encoding="utf8",确保读写编码完全一致:

修改后的代码:

# 用with语句自动管理文件句柄,无需手动关闭
with open("C:/Users/pc/Desktop/talabat yarmook.txt", "r", encoding="utf8") as file_handle_tester:
    with open("C:/Users/pc/Desktop/parced_text.txt", "w", encoding="utf8") as sec_file:
        a = 'com.talabat:id/textView_restaurantName'
        for line in file_handle_tester:
            line = line.strip()
            sec_file.write(line + "\n")  # 补充换行符,避免所有内容挤在一行

补充说明

  • 用with语句处理文件是Python的最佳实践,能自动释放资源,避免漏关文件
  • 原代码里的strip()会移除行尾换行符,写入时手动加\n才能保留原文件的行结构
  • 你之前尝试的“存列表再写入”不影响编码问题,核心矛盾始终是写入时的编码设置;字节读写若未对应正确编码,也无法解决根本问题

内容的提问来源于stack exchange,提问作者Abdullah M. Adil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:31:37