python判断文件夹是否存在,不存在则创建,python判断一个文件夹是否存在

  python判断文件夹是否存在,不存在则创建,python判断一个文件夹是否存在

  原标题:Python判断文件存在与否的三种方式

  通常在读写文件之前,需要判断文件或目录是否存在,否则一些处理方法可能会使程序出错。所以做任何事情之前最好先判断文件是否存在。

  在这里,我们将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句和pathlib模块。

  1.使用操作系统模块

  os模块中的os.path.exists()方法用于验证文件是否存在。

  确定文件是否存在。

  确定文件夹是否存在。

  可以看出,可以使用os.path.exists()方法来判断文件和文件夹是否相同。

  其实这个方法还是有问题的。假设你想检查文件“test_data”是否存在,但是当前路径中有一个名为“test_data”的文件夹,可能会导致误判。要避免这种情况,您可以这样做:

  仅检查文件。

  使用这种方法,如果文件“test-data”不存在,它将返回False,否则将返回True。

  即使该文件存在,您也可能需要确定该文件是否可以读写。

  确定文件是否可读写。

  使用os.access()方法确定文件是否可以读写。

  语法:

  os.access(路径,模式)

  Path是文件路径,mode是操作模式。有几种类型:

  Os。F_OK:检查文件是否存在;

  Os。R_OK:检查文件是否可读;

  Os。W_OK:检查文件是否可以写入;

  Os。X_OK:检查文件是否可以执行。

  该方法通过判断文件路径是否存在,以及各种访问方式的权限,返回True或False。

  2.使用Try语句

  可以直接在程序中使用open()方法检查文件是否存在,是否可以读写。

  语法:

  打开()

  如果您打开的文件不存在,程序将抛出一个错误,并使用try语句来捕获这个错误。

  程序无法访问该文件可能有多种原因:

  如果你打开的文件不存在,它会抛出一个FileNotFoundError异常;

  如果文件存在,但是您没有访问它的权限,将抛出Persmissi异常。

  因此,您可以使用以下代码来确定该文件是否存在:

  实际上,没有必要如此详细地处理每个异常。以上两个例外都是IOError的子类。所以你可以简化程序:

  使用try语句来判断和处理所有异常是非常简单和优雅的。与其他外部模块相比,无需引入其他外部模块。

  3.使用pathlib模块

  Pathlib模块是Python版本3中的内置模块,但在Python版本2中,三方模块需要单独安装。

  要使用pathlib,您需要使用文件路径来创建path对象。该路径可以是文件名或目录路径。

  检查路径是否存在

  检查路径是否是文件。

  责任编辑:

  历史提交的图片或压缩文件

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windows下cmd中切换路径与目录查看,cmd怎么切换路径到文件夹
  • windows下cmd中切换路径与目录查看,cmd怎么切换路径到文件夹,cmd命令打开及切换目录路径的实现
  • wget下载文件到指定目录,wget下载整个文件夹
  • wget下载文件到指定目录,wget下载整个文件夹,wget下载整个网站(整个子目录)或特定目录
  • u盘exe病毒如何根除,如何根除U盘文件夹exe病毒
  • u盘exe病毒如何根除,如何根除U盘文件夹exe病毒,U.EXE病毒删除方法
  • svn在eclipse中的使用,eclipse不显示svn路径,Eclipse设置svn忽略文件或文件夹(svn-ignore)的操作
  • Linux系统删除文件夹命令,linux系统中删除文件的命令
  • Linux系统删除文件夹命令,linux系统中删除文件的命令,Linux系统删除文件夹和文件的命令
  • jsp 上传文件夹,jsp多文件上传
  • jsp 上传文件夹,jsp多文件上传,JSP组件commons-fileupload实现文件上传
  • dos 删除文件夹命令,dos 删除文件夹 目录不是空的
  • dos 删除文件夹命令,dos 删除文件夹 目录不是空的,dos 删除文件夹 rd
  • Win10共享文件夹怎么设置访问密码,win10共享文件夹设置密码后没有权限访问
  • win10用户的文件名怎么改,window10怎样更改用户文件夹名称
  • 留言与评论(共有 条评论)
       
    验证码: