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
相关推荐
muyouking115 分钟前
Rust + WASM + Svelte 深度实战:内存管理、性能权衡与图像处理进阶
开发语言·rust·wasm
TF男孩16 分钟前
小技巧:让你写的python代码直接点击运行
python
程序员爱钓鱼17 分钟前
Python编程实战 - 面向对象与进阶语法 - 异常类型与捕获
后端·python·ipython
仟濹20 分钟前
「经典数字题」集合 | C/C++
c语言·开发语言·c++
程序员爱钓鱼21 分钟前
Python编程实战 - 面向对象与进阶语法 - 类方法与静态方法
后端·python
lkbhua莱克瓦2428 分钟前
Java练习——正则表达式2
java·开发语言·笔记·正则表达式·github·学习方法
懒羊羊不懒@36 分钟前
JavaSe—List集合系列
java·开发语言·数据结构·人工智能·windows
峥无39 分钟前
《从适配器本质到面试题:一文掌握 C++ 栈、队列与优先级队列核心》
开发语言·c++·queue·stack
十五学长1 小时前
程序设计C语言
c语言·开发语言·笔记·学习·考研
永远有缘2 小时前
Java、Python、C# 和 C++ 在函数定义语法上的主要区别
java·c++·python·c#