常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。

这里将介绍三种判断文件或文件夹是否存在的方法,分别使用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为操作模式,有这么几种:
该方法通过判断文件路径是否存在和各种访问模式的权限返回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语句来捕获这个错误。
程序无法访问文件,可能有很多原因:
所以可以使用下面的代码来判断文件是否存在:
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判断文件是否存在常用的几种方式
# 是否存在
# 不存在
# 如果你
# 抛出
# 有个
# 三种
# 小编
# 都是
# 子类
# 在此
# 不需要
# 有很多
# 你想
# 这两个
# 给大家
# 几种
# 还需要
# 可以使用
# 可以看出
# 会使
相关文章:
,制作一个手机app网站要多少钱?
如何快速查询域名建站关键信息?
如何在服务器上三步完成建站并提升流量?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
营销式网站制作方案,销售哪个网站招聘效果最好?
如何选择PHP开源工具快速搭建网站?
动图在线制作网站有哪些,滑动动图图集怎么做?
建站之星3.0如何解决常见操作问题?
C++时间戳转换成日期时间的步骤和示例代码
如何正确下载安装西数主机建站助手?
网站制作的步骤包括,正确网址格式怎么写?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
网站制作公司排行榜,四大门户网站排名?
,sp开头的版面叫什么?
建站主机如何选?高性价比方案全解析
招贴海报怎么做,什么是海报招贴?
如何配置支付宝与微信支付功能?
建站主机与服务器功能差异如何区分?
详解jQuery中基本的动画方法
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
C#如何使用XPathNavigator高效查询XML
5种Android数据存储方式汇总
c# 在ASP.NET Core中管理和取消后台任务
如何配置IIS站点权限与局域网访问?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
文字头像制作网站推荐软件,醒图能自动配文字吗?
个人网站制作流程图片大全,个人网站如何注销?
javascript中的try catch异常捕获机制用法分析
宝塔建站教程:一键部署配置流程与SEO优化实战指南
linux top下的 minerd 木马清除方法
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
网站制作需要会哪些技术,建立一个网站要花费多少?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何在万网主机上快速搭建网站?
建站之星导航如何优化提升用户体验?
如何获取上海专业网站定制建站电话?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
建站之星2.7模板:企业网站建设与h5定制设计专题
高端云建站费用究竟需要多少预算?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何在IIS中新建站点并配置端口与IP地址?
如何通过网站建站时间优化SEO与用户体验?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
在线制作视频网站免费,都有哪些好的动漫网站?
XML的“混合内容”是什么 怎么用DTD或XSD定义
建站之星客服服务时间及联系方式如何?
如何制作一个表白网站视频,关于勇敢表白的小标题?
简单实现Android验证码
*请认真填写需求信息,我们会在24小时内与您取得联系。