Python判断文件或文件夹是否存在的三种方法
发布时间 - 2026-01-11 02:32:27 点击率:次常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。

这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。
1.使用os模块
os模块中的os.path.exists()方法用于检验文件是否存在。
- 判断文件是否存在
import os os.path.exists(test_file.txt) #True os.path.exists(no_exist_file.txt) #False
- 判断文件夹是否存在
import os os.path.exists(test_dir) #True os.path.exists(no_exist_dir) #False
可以看出用os.path.exists()方法,判断文件和文件夹是一样。
其实这种方法还是有个问题,假设你想检查文件“test_data”是否存在,但是当前路径下有个叫“test_data”的文件夹,这样就可能出现误判。为了避免这样的情况,可以这样:
- 只检查文件
import os
os.path.isfile("test-data")
通过这个方法,如果文件”test-data”不存在将返回False,反之返回True。
即是文件存在,你可能还需要判断文件是否可进行读写操作。
判断文件是否可做读写操作
使用os.access()方法判断文件是否可进行读写操作。
语法:
os.access(, )
path为文件路径,mode为操作模式,有这么几种:
- os.F_OK: 检查文件是否存在;
- os.R_OK: 检查文件是否可读;
- os.W_OK: 检查文件是否可以写入;
- os.X_OK: 检查文件是否可以执行
该方法通过判断文件路径是否存在和各种访问模式的权限返回True或者False。
import os
if os.access("/file/path/foo.txt", os.F_OK):
print "Given file path is exist."
if os.access("/file/path/foo.txt", os.R_OK):
print "File is accessible to read"
if os.access("/file/path/foo.txt", os.W_OK):
print "File is accessible to write"
if os.access("/file/path/foo.txt", os.X_OK):
print "File is accessible to execute"
2.使用Try语句
可以在程序中直接使用open()方法来检查文件是否存在和可读写。
语法:
open()
如果你open的文件不存在,程序会抛出错误,使用try语句来捕获这个错误。
程序无法访问文件,可能有很多原因:
- 如果你open的文件不存在,将抛出一个FileNotFoundError的异常;
- 文件存在,但是没有权限访问,会抛出一个PersmissionError的异常。
所以可以使用下面的代码来判断文件是否存在:
try: f =open() f.close() except FileNotFoundError: print "File is not found." except PersmissionError: print "You don't have permission to access this file."
其实没有必要去这么细致的处理每个异常,上面的这两个异常都是IOError的子类。所以可以将程序简化一下:
try: f =open() f.close() except IOError: print "File is not accessible."
使用try语句进行判断,处理所有异常非常简单和优雅的。而且相比其他不需要引入其他外部模块。
3. 使用pathlib模块
pathlib模块在Python3版本中是内建模块,但是在Python2中是需要单独安装三方模块。
使用pathlib需要先使用文件路径来创建path对象。此路径可以是文件名或目录路径。
- 检查路径是否存在
path = pathlib.Path("path/file")
path.exist()
- 检查路径是否是文件
path = pathlib.Path("path/file")
path.is_file()
总结
以上所述是小编给大家介绍的Python判断文件或文件夹是否存在的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# python
# 判断文件是否存在
# 判断文件夹是否存在
# Python判断文件和文件夹是否存在的方法
# Python中可以用三种方法判断文件是否存在
# python 判断文件或文件夹是否存在
# python如何判断文件存在方式
# python判断文件是否存在常用的几种方式
# 是否存在
# 不存在
# 如果你
# 抛出
# 有个
# 三种
# 小编
# 都是
# 子类
# 在此
# 不需要
# 有很多
# 你想
# 这两个
# 给大家
# 几种
# 还需要
# 可以使用
# 可以看出
# 会使
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
如何安全更换建站之星模板并保留数据?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
,怎么在广州志愿者网站注册?
如何登录建站主机?访问步骤全解析
大同网页,大同瑞慈医院官网?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
网站制作软件有哪些,制图软件有哪些?
javascript如何操作浏览器历史记录_怎样实现无刷新导航
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
Laravel如何为API编写文档_Laravel API文档生成与维护方法
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
HTML 中如何正确使用模板变量为元素的 name 属性赋值
如何自定义建站之星网站的导航菜单样式?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Laravel如何创建自定义Facades?(详细步骤)
Laravel怎么使用Intervention Image库处理图片上传和缩放
昵图网官方站入口 昵图网素材图库官网入口
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
如何快速启动建站代理加盟业务?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Laravel如何使用Livewire构建动态组件?(入门代码)
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
如何在景安云服务器上绑定域名并配置虚拟主机?
网站建设保证美观性,需要考虑的几点问题!
nginx修改上传文件大小限制的方法
黑客如何通过漏洞一步步攻陷网站服务器?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
如何获取免费开源的自助建站系统源码?
python中快速进行多个字符替换的方法小结
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Laravel API资源类怎么用_Laravel API Resource数据转换
香港服务器租用费用高吗?如何避免常见误区?
如何在建站主机中优化服务器配置?
Laravel如何实现本地化和多语言支持?(i18n教程)
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何用低价快速搭建高质量网站?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法

