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

Windows下Python无法识别存在路径,os.listdir抛FileNotFoundError

Windows下Python访问带空格和点前缀目录报错的原因与解决办法

可能的原因

  • Windows对以.开头的目录有特殊处理:这类目录默认隐藏,即便资源管理器能看到,部分底层文件API可能因系统设置或权限问题无法正常识别。
  • 路径里的空格加点点前缀的组合,触发了底层解析的兼容问题:虽然用了原始字符串规避转义,但旧版Python的os模块对这种特殊路径的兼容性不如新库。
  • 目录被锁定或权限不足:如果有其他进程(比如同步工具、编辑器)正在占用这个目录,或者当前用户没读取权限,也会触发FileNotFoundError。

解决办法

1. 取消目录的隐藏属性

先通过命令行去掉隐藏标记,再运行代码:

attrib -h "F:\temp\.clone - sb"

2. 换用pathlib库处理路径

Python 3.4+自带的pathlib对Windows路径支持更友好,能避免很多解析问题:

from pathlib import Path

target_dir = Path(r'F:\temp\.clone - sb')
# 遍历目录内容
for item in target_dir.iterdir():
    print(item.name)

3. 检查目录占用与权限

  • 打开任务管理器,看看有没有进程(比如Git、OneDrive)在占用这个目录,结束后重试。
  • 右键目录→属性→安全,确认当前用户有读取和列出目录内容的权限。

4. 用Windows短路径访问

Windows的8.3短路径能规避特殊字符问题,先通过命令行获取短路径:

dir /x F:\temp

找到.clone - sb对应的短路径(类似CLONE~1),然后在Python里用这个路径:

import os

short_path = r'F:\temp\CLONE~1'
print(os.listdir(short_path))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:30:11