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
相关推荐
dalalajjl7 分钟前
爱派(AiPy):一个让大语言模型直接操作Python完成任务
python
国服第二切图仔9 分钟前
Rust开发之使用 Trait 定义通用行为——实现形状面积计算系统
开发语言·网络·rust
景彡先生17 分钟前
Python matplotlib详解:从入门到精通,数据可视化利器
python·信息可视化·matplotlib
前端小咸鱼一条21 分钟前
14. setState是异步更新
开发语言·前端·javascript
程序员大雄学编程23 分钟前
用Python来学微积分22-费马定理
人工智能·python·数学·微积分
deephub34 分钟前
sklearn 特征选择实战:用 RFE 找到最优特征组合
人工智能·python·机器学习·sklearn·特征选择
无知就要求知1 小时前
golang封装可扩展的crontab
开发语言·后端·golang
weixin_467209281 小时前
Qt Creator打开项目提示no valid settings file could be found
开发语言·qt
程序员杰哥1 小时前
外包干了三年,快要废了。。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
咩?1 小时前
10.27-yolov5代码
人工智能·python·深度学习