Python——Bug解决:文件存在但os.path.exists或os.path.isfile返回false

问题

  • python脚本访问路径,前一级路径存在,但文件不存在:
bash 复制代码
(Pdb) os.path.isfile(f"/mnt/flan_t5_large-adversarial_qa_dbert_tell_what_it_is/adapter_model.bin")
False
(Pdb) os.path.isfile(f"/mnt/flan_t5_large-adversarial_qa_dbert_tell_what_it_is")
True
  • 命令行ls看,是存在的:
bash 复制代码
>>> ls /mnt/flan_t5_large-adversarial_qa_dbert_tell_what_it_is/adapter_model.bin
/mnt/flan_t5_large-adversarial_qa_dbert_tell_what_it_is/adapter_model.bin

可能问题原因及解决方法

1.

2.

  • 给权限即可。

反转

  • 但我发现这个权限也没问题,而且最重要的是我发现它只是个软链接,因此这个文件不存在极可能是由于原文件不存在了
bash 复制代码
>>> ls -l /mnt/flan_t5_large-adversarial_qa_dbert_tell_what_it_is/adapter_model.bin
lrwxrwxrwx 1 gaohongzhi gaohongzhi 179 Nov  2 15:38 /mnt/flan_t5_large-adversarial_qa_dbert_tell_what_it_is/adapter_model.bin -> ../../../../../../.cache/huggingface/hub/models--lorahub--flan_t5_large-adversarial_qa_dbert_tell_what_it_is/blobs/37a8d9c6732bfab95b168e90e02363d8a254ad1ac208fc32f9e61b2c693f5230
  • 果然这玩意就什么都不是!所以还是文件有问题导致的!
bash 复制代码
>>> ls -l /.cache/huggingface/hub/models--lorahub--flan_t5_large-adversarial_qa_dbert_tell_what_it_is/blobs/37a8d9c6732bfab95b168e90e02363d8a254ad1ac208fc32f9e61b2c693f5230
相关推荐
KoiHeng3 分钟前
Java的文件知识与IO操作
java·开发语言
-Try hard-10 分钟前
完全二叉树、非完全二叉树、哈希表的创建与遍历
开发语言·算法·vim·散列表
霍理迪17 分钟前
JS作用域与预解析
开发语言·前端·javascript
闻哥20 分钟前
深入理解 Spring @Conditional 注解:原理与实战
java·jvm·后端·python·spring
Traced back21 分钟前
# C# WinForms 数据库清理系统基础知识与避坑指南
开发语言·数据库·c#
煜磊21 分钟前
MD5加盐值-注册与登录
java·开发语言
茉莉玫瑰花茶31 分钟前
C++ 17 详细特性解析(4)
开发语言·c++·算法
小鸡吃米…33 分钟前
机器学习 - 堆叠集成(Stacking)
人工智能·python·机器学习
青春不朽51240 分钟前
Scikit-learn 入门指南
python·机器学习·scikit-learn
rosmis41 分钟前
地铁病害检测系统软件改进记录-2-02
开发语言·前端·javascript