码迷,mamicode.com
首页 > Web开发 > 详细

python判断文件是否存在

时间:2018-03-20 23:14:22      阅读:391      评论:0      收藏:0      [点我收藏+]

标签:

在python开发中,我们常常会遇到判断文件是否存在的需求,今天和大家分享的就是这部分内容,希望对大家学习python有所帮助。

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

os模块

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

print 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判断文件是否存在

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(1
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!