【Python】os.path.exists()的含义 及文件存在但os.path.exists()返回False的原因

os.path.exists()

函数的功能是查看给定的文件/目录是否存在,存在返回True,不存在返回False。

  1. 如果给定的文件只有文件名,会在当前文件的目录下索引。
  2. 给定的文件/目录可以是绝对索引。

文件存在但os.path.exists()返回False

我遇到了这样一个问题:我要索引的目录是D:\Codes\SuperResolution\practice\DL-SR\dataset\train\F-actin\Cell_001
这个目录我确定他是存在的,但os.path.exists('D:\Codes\SuperResolution\practice\DL-SR\dataset\train\F-actin\Cell_001')返回False。

解决方案

在字符串前加上r,即:

import os

os.path.exists(r'D:\Codes\SuperResolution\practice\DL-SR\dataset\train\F-actin\Cell_001')

字符串前加r的作用是防止字符串转义,r表示raw,即告诉编译器后面这段字符串就保持原样就好,不需要做转义。

原因分析

我是这样定位问题的,首先看一下最开始的目录在不在,一个一个查下去发现在索引到文件夹train的时候出现问题。
在这里插入图片描述
接着看了一下目录下是有train目录的,排除目录不存在的可能性。而后在字符串前加r,就可以索引到目录了。
在这里插入图片描述
看过解决方案我们就明白了,我这个问题其实是因为编译器把\t转义了,因此索引不到。

总结

遇到文件存在但os.path.exists()返回False的问题大概可以分为两种情况:

  1. 文件确实不存在或索引有错(比如没有直接复制路径,而是手打路径,结果中间字母打错了或者漏打空格之类的)。
  2. 编译器把路径转义了,导致路径错误。

对于第二种情况,解决方案就是在字符串前加r防止转义

  • 17
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小丫么小阿豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值