hu18738640003 2024-04-30 14:49 采纳率: 20.9%
浏览 16

os.listdir无法读取文件

这种情况如何解决?
我读文件夹没问题,读取里面的文件不行

img

import os
NUM=35
# 使用正斜杠作为路径分隔符,确保跨平台兼容性
files = os.listdir(r'F:/dataset')
print(files)
#['35.npy', 'CS2_36.npy', 'CS2_37.npy', 'CS2_38.npy']
import os
# 使用正斜杠作为路径分隔符,确保跨平台兼容性
files = os.listdir(r'F:/dataset/35')
print(files)
#FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'F:/dataset/35'
  • 写回答

5条回答 默认 最新

  • 专家-皆知 2024-04-30 14:49
    关注

    参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。

    遇到FileNotFoundError: [WinError 3] 系统找不到指定的路径这个错误,通常意味着Python尝试访问的路径不存在。在您的例子中,您试图通过os.listdir(r'F:/dataset/35')列出F:/dataset/35目录下的文件,但这个目录在您的文件系统中并不存在。

    解决方案

    1. 确认路径存在:首先,确保F:/dataset/35这个路径确实存在于您的文件系统中。您可以通过文件浏览器手动检查,或者在Python中使用以下代码来验证:

      import os.path
      if os.path.exists('F:/dataset/35'):
          print("路径存在")
      else:
          print("路径不存在")
      
    2. 路径书写正确性:在Windows系统中,路径分隔符可以是正斜杠/或反斜杠\,但在字符串中使用反斜杠\时需要转义,除非你使用原始字符串前缀r。你已经正确使用了原始字符串(r'F:/dataset/35'),所以这不是问题所在。但确保路径没有打字错误,比如多一个字符或少一个。

    3. 大小写敏感:虽然Windows文件系统对大部分文件名不区分大小写,但某些特殊情况或特定文件系统配置下可能会区分。确认35目录的名称与实际相符,包括大小写。

    4. 权限问题:极少数情况下,如果程序没有足够的权限访问该路径,也会出现问题,但这种情况较少见,特别是对于读操作。

    如果路径确实不存在

    如果您确认路径不存在,您需要创建该目录,然后才能访问它。这可以通过以下代码实现:

    import os
    if not os.path.exists('F:/dataset/35'):
        os.makedirs('F:/dataset/35')
        print("目录已创建")
    else:
        print("目录已存在")
    

    之后,您就可以正常地使用os.listdir去列出该目录下的文件了。

    请按照上述步骤操作,并确认每个环节,这样应该能解决您的问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月30日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀