全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python判断文件或文件夹是否存在的三种方法

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

这里将介绍三种判断文件或文件夹是否存在的方法,分别使用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判断文件是否存在常用的几种方式  # 是否存在  # 不存在  # 如果你  # 抛出  # 有个  # 三种  # 小编  # 都是  # 子类  # 在此  # 不需要  # 有很多  # 你想  # 这两个  # 给大家  # 几种  # 还需要  # 可以使用  # 可以看出  # 会使 


相关文章: ,制作一个手机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小时内与您取得联系。