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

Python遍历下载文件夹遇unicodeescape编码错误求助(Win11+Py3.9)

问题(翻译后)

我在Windows 11系统使用Python 3.9编写程序,想要遍历下载文件夹中的所有文件,但运行时出现错误:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape。我使用变量存储目录路径,结合os库进行遍历,尝试过替换路径分隔符为/、//,修改引号类型等方法均无效,请求帮助。代码如下:

# 我想写一个遍历下载文件夹所有文件的程序

import os
from time import sleep


source_dir = "C:\Users\(替换成你的用户名测试)\example\Downloads"

with os.scandir(source_dir) as entries:
    for entry in entries:
        print(entry.name)
        sleep(0.35)

解决Python遍历Windows路径的Unicode转义错误

错误原因

路径字符串里的\U会被Python当作Unicode转义序列的起始标记,但后续没有完整的8位十六进制字符,直接触发了解码失败的语法错误。你之前尝试的方法没命中正确的转义处理逻辑。

三种有效解决方法

  • 原始字符串法:在路径字符串前加r,让Python忽略所有转义字符
    source_dir = r"C:\Users\你的用户名\Downloads"
    
  • 正斜杠替换法:直接把路径中的\替换为/,Python完全兼容Windows下的正斜杠路径
    source_dir = "C:/Users/你的用户名/Downloads"
    
  • 双反斜杠转义法:把每个\写成\\,让Python识别为实际的反斜杠字符
    source_dir = "C:\\Users\\你的用户名\\Downloads"
    

修正后的完整代码

# 遍历下载文件夹中的所有文件
import os
from time import sleep

# 替换为你的真实用户名
source_dir = r"C:\Users\你的用户名\Downloads"

with os.scandir(source_dir) as entries:
    for entry in entries:
        print(entry.name)
        sleep(0.35)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:50:14