在操作文件前,检查文件是否存在也是一个良好的编程习惯。通常来说,有三种常见方式来判断文件夹或文件是否存在,分别是os模块,try语句和pathlib模块。

python学习网,大量的免费python视频教程,欢迎在线学习!

os模块

os模块中的os.path.exists(path)可以检测文件或文件夹是否存在,path为文件/文件夹的名字/绝对路径。返回结果为True/Falseprint os.path.exists("/untitled/chapter3.py")print os.path.exists("chapter3.py")

这种用法既能检测文件也能检测文件夹,这也带来问题,假如我想找一个命名为helloworld的文件,使用exists可能命中同名的helloworld文件夹。这时使用os.path.isdir()和os.path.isfile()可以加以区分。如果进一步想判断是否可以操作文件,可以使用os.access(path, model),model为操作模式,具体如下if __name__ == '__main__':

if os.access("/untitled/chapter3.py", os.F_OK):

print "File path is exist."

if os.access("/untitled/chapter3.py", os.R_OK):

print "File is accessible to read"

if os.access("/untitled/chapter3.py", os.W_OK):

print "File is accessible to write"

if os.access("/untitled/chapter3.py", os.X_OK):

print "File is accessible to execute"

try语句

对文件最简单的操作方法是直接使用open()方法,但是文件不存在,或发生权限问题时open方法会报错,所以配合try语句使用来捕捉一异常。try...open语法简单优雅,可读性强,而且不需要引入任何模块if __name__ == '__main__':

try:

f = open("/untitled/chapter3.py")

f.close()

except IOError:

print "File is not accessible."

pathlib模块

在python2中pathlib属于第三方模块,需要单独安装。但是python3中pathlib已经是内建模块了

pathlib用法简单,与open类似。首先使用pathlib创建对象,进而使用exists(),is_file()等方法if __name__ == '__main__':

path = pathlib.Path("chapter3.py")

print path.exists()

print path.is_file()

python怎么判断一个文件是否存在-python判断文件是否存在相关推荐

  1. python怎么判断一个文件是否存在-python怎么判断一个目录下是否存在某个文件??谢啦!...

    12.2 C语言对文件操作的支持 12.2.1 文件的打开 FILE *fopen( "路径+文件名","读写模式"); FILE *fopen(const c ...

  2. 【Python】判断一个整数是否是回文数的三种方法

    方法一:逐位判断 原理: 用一个while循环,将一个数每次都取出首位和末位,判断是否相等,只要有一次不相等退出即可. 回文数的判断条件:加入一个变量位数,如果这个数是奇数,位数为1时,即最中间那一位 ...

  3. 13位Python大牛历时一个月打造的Python系统学习流程图,超详细!

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! #Pyth ...

  4. python jit_Pyston是一个基于JIT的Python开源实现

    Dropbox宣布一个Python开源项目Pyston,这是为了大幅度提高Python性能,类似javascript的Chrome的V8. 之前已经有一些JIT技术, PyPy通过其tracing J ...

  5. python如何创建一个列表_在python中创建列表的最佳和/或最快方法

    在python中,据我所知,至少有3到4种方法来创建和初始化给定大小的列表: 简单循环append: my_list =[]fori inrange(50):my_list.append(0) 简单循 ...

  6. 树莓派 python 无人机_DIY一个基于树莓派和Python的无人机视觉跟踪系统

    DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配.如果想来点高级的--在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其 ...

  7. python安卓开发-一个Android开发者自学Python的心路历程

    前言 本人主要从事Android开发,也做过微信小程序,有时还会在Java那边客串一把(谁让Android是用的Java呢@~@),最近在自学Python,已有半月有余.因近年来,技术迭代快速,前端更 ...

  8. 写一个方法判断一个字符串是否对称_判断一个男生是否好色的方法

    ▾ 我们店只招黑喵哦? ▾ 其实也不是不能理解为什么男的要跑? ▾ 有什么相见恨晚的小知识?? ▾ 见证奇迹?:是不是穿过去了!? ▾ 医学奇迹? ▾ 卧槽流劈!?真的超光速了! ▾ 细节很到位啊几位 ...

  9. python 均方误差_一个很随意的Python智能优化库,一个文件就是一个库-- PySwarm

    之前无聊做了个简单的Python智能算法库的小总结:Python智能优化算法库小汇总 .当时没注意到有一个库PySwarms是基于另外一个小库 PySwarm开发的. 这个库非常有意思,整个库只依赖N ...

  10. 用python做算法初步流程图_13位Python大牛历时一个月打造的Python系统学习流程图,超详细!...

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! 需要pyt ...

最新文章

  1. winform 监听http_Winform HttpListener监听有关问题
  2. 写一个ajax框架,自己写的一个ajax框架,希望大家多提意见
  3. Asp.Net异步页面处理(转)
  4. ISP、IAP、ICP的区别!
  5. Java千百问_03基本的语法(005)_二进制是如何做位运算的
  6. cad2017怎么改变选择方式_家用胎心仪怎么使用?建议孕妈妈选择数胎动的方式...
  7. 结婚生娃和去核电站参观,哪个更安全?
  8. 最大数max(x,y,z)(信息学奥赛一本通-T1152)
  9. 从入门到入土:基于C语言采用SOCKET套接字实现TCP公开扫描程序Web服务器扫描程序|代码展示
  10. php涉及数据库操作时响应很慢。
  11. (4.2.48)MVPArms源码分析
  12. dell linux 无线网卡驱动,DELL D630安装CentOS6的无线网卡驱动
  13. 查看tomcat目前用的jdk版本
  14. koolproxy无法下载https证书的解决方法
  15. 教孩子学编程python 代码_天津哪有教孩子学编程python
  16. android 基站分布,android 基站定位
  17. vue-element-ui组件 layout布局(网格系统)
  18. JVM Advent Calendar:JCP.NEXT,简化了JCP程序
  19. android手机 滚动截屏,安卓手机如何滚动截屏?看完图解一秒学会!
  20. #项目的编译和发布 #静态发布新浪云 #node服务器发布新浪云 #nodejs服务器部署数据库 #新浪云前后端结合

热门文章

  1. Eclipse Android编程快捷键
  2. cms建站系统有哪些,各自的特点是什么?
  3. C#跳转语句 迭代法 穷举法
  4. storm源码之storm代码结构【译】
  5. (原) ODP.NET 演示通过结果集的锁顶来更新 LOB 数据
  6. python基础一入门必备知识-python基础教程#菜鸟也能看懂的超简单入门必备知识...
  7. python怎么读取txt文件并统计其字数-python计算文件的行数和读取某一行内容的实现方法...
  8. python 吧-做为IT人的你 趁年轻学点Python吧
  9. python个人项目-个人博客二|创建项目
  10. 全部python编程语言-编程语言高质量代码的优秀Python工具