知行编程网知行编程网  2022-11-23 20:00 知行编程网 隐藏边栏  6 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何确定文件是否存在的相关知识,希望可以帮到处于编程学习途中的小伙伴

python如何判断一个文件是否存在


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模块

Pathlib是python2中的第三方模块,需要单独安装。但是python3中的pathlib已经是内置模块了

pathlib使用简单,类似于open。先使用pathlib创建对象,然后使用exists()、is_file()等方法

if __name__ == '__main__':
    path = pathlib.Path("chapter3.py")
    print path.exists()
    print path.is_file()

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享