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

Python读取含反斜杠的TXT文件遇UnicodeDecodeError问题求助

解决读取含特殊字符TXT文件的Unicode解码错误

你遇到的UnicodeDecodeError并非反斜杠导致,本质是文件编码与Python默认读取编码不匹配。Windows环境下Python默认使用系统charmap编码(如GBK),若文件采用UTF-8等其他编码,就会出现解码失败的问题。

以下是几种可行的解决方法:

  • 指定正确编码读取(推荐):直接在open()函数中明确文件编码,比如最常用的UTF-8:

    with open('test.txt', 'r', encoding='utf-8') as f:
        account_list = f.readlines()
    

    注:with语句会自动关闭文件,无需手动调用f.close()。

  • 忽略无法解码的字符:如果不确定文件编码,且允许丢弃少量乱码字符,可添加errors='ignore'参数跳过错误:

    with open('test.txt', 'r', errors='ignore') as f:
        account_list = f.readlines()
    
  • 自动尝试多种编码:若不清楚文件具体编码,可依次尝试常见编码(如UTF-8、GBK、GB2312):

    encodings = ['utf-8', 'gbk', 'gb2312']
    account_list = []
    for enc in encodings:
        try:
            with open('test.txt', 'r', encoding=enc) as f:
                account_list = f.readlines()
            break
        except UnicodeDecodeError:
            continue
    

关于反斜杠:文件中的反斜杠属于普通字符,readlines()会正常读取,不会引发解码错误。如果文件中存在转义格式的反斜杠(比如表示路径的\\),读取后可根据需求手动处理,无需额外修改读取逻辑。

内容的提问来源于stack exchange,提问作者段云鹏

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:48:21