• 技术文章 >常见问题 >Python常见问题

    python怎么验证文件是否存在

    silencementsilencement2019-11-07 10:04:45原创1654

    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"

    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()
    专题推荐:文件
    上一篇:python无法写入文件怎么办 下一篇:python代码运行助手是什么意思

    相关文章推荐

    • 如何用python打开csv文件路径• python怎么读json文件

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网