当前位置: 首页 > 问答 > Python编程 > 问答详情

python怎么检查文件是否存在

09月28日 05:43199人阅读
黄老师 Python编程

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"

python学习网,免费的python学习网站,欢迎在线学习!

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()

职业技能申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

问答来自

黄老师 Python编程
好评率85% 浏览199

相关问题

如何使用python中join()函数实现字符串拼接?
谷老师 Python编程
Python与C语言有哪些区别?
许老师 Python编程
pip安装命令出现错误如何解决?
宋老师 Python编程
课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部