我们知道,当文件不存在时,Open()方法的写作模式将是新创建的文件,但是有许多场景可以使文件构成文件。例如,在下载爬行者的图片时,您可能需要确定是否存在文件。要避免重复下载;例如,创建新文件时,您可能需要确定文件是否存在。如果您存在,请进行备份...因此,有必要学会判断文件是否存在。
学习是一个逐步的过程。如果您可以在知识点之间建立联系并进行系统性学习,那么阅读本文后,您将阅读以下内容:
1.确定文件方法(尝试语句,OS模块,Pathlib模块)
2.上述方法的优点和缺点
懒惰尝试句子
我们之前已经了解到,我们需要使用with语句来处理读写文件,但是陈述不是灵丹妙药,因此我们必须注意一些异常。
例如,当使用open()方法时,如果文件不存在,则程序将抛出filenotfounderror异常,如果权限不足,则将抛出persisermisserror异常。
为了防止这些异常中断程序,我们可以尝试...除了...句子以捕获异常,然后在条款除外进行异常治疗。
但是,在猫的眼中,不建议使用这种方法。有两个原因。一个是这种方法非常被动,该计划的健康受到不可预测的异常。另一个是,当文件不存在时,我们可能需要创建文件。如果这些逻辑写在除外的条款中,您可以阅读它。性别太差了。
传统的OS模块
顾名思义,Python的构建-IN OS模块是用于与OS(操作系统)交互的模块。它可以在命令行下实现许多操作,例如,获取操作系统信息,获取/修改环境变量,并执行目录操作(创建,删除,拖动)和各种文件操作等,等等,我们必须学习几种方法与文件判断密切相关。
1. OS.Path.exist()用于确定文件和文件夹是否存在(注意:因为两者都可以判断为有效区分文件和文件夹,因此最好确保文件名与受苦的文件名称):
2. os.path.isfile(),os.path.isdir()确定给定路径是文件还是文件夹:
3. os.access()检测文件路径的访问权限,语法:os.access(路径,模式);路径指的是文件或文件夹,模式是指检测方式:
4. OS模块中的其他常见方法:
os.mkdir()create directory,os.rmdir()delete directory,os.rename()重命名,os.remove()delete files,os.path.join()连接目录和文件名,os.path.split()Division目录和文件名...(没有例子,将来会有机会引入)
时尚的Pathlib模块
Pathlib模块是由Python3.4添加的模块。正式介绍它是面向对象的文件系统路径(面向对象的文件系统路径)。这是一个非常强大的模块,该模块在文本末尾附有正式文档地址。
在这里,我们主要介绍几种基本用法:
几种优势和缺点的方法
文件操作周围有许多知识,这些知识仅限于空间。本文主要介绍判决文件。将来,它也可能会学习其他特定主题。
现在,我知道如何通过方式判断文件。猫试图根据自己的理解来评判它们。
首先,尝试陈述的缺点是没有主动判断,并且根据文件是否存在进行有针对性的处理并不方便。它为异常捕获提供了必要的逻辑,并且似乎“不负责任”。无需引入模块,无需区分各种使用方法。
操作系统模块是传统的旧模块,使用和维护将是平稳的。它的主要缺点是某些方法很麻烦。例如,由于字符串用于表示文件路径,因此这将导致路径缝合问题。此外,路径分离器上的不同操作系统(Windows使用分隔符,Linux和MAC使用/分离器)也可能导致难以找到错误。
相对而言,Pathlib功能是最强大的功能,但是受欢迎程度相对较低,并且具有一定的学习阈值。它的主要优势是面向对象。同时,由于封装了不同操作系统的特征,因此可以有效地避免字符串表示文件表示文件。路径问题。它也有缺陷,也就是说,没有方法可以检测诸如OS.ACCESS等访问权限的方法。(),尽管基本上不使用此方法。
比较下面的三个缝合文件路径的方法。
总而言之,如果文件路径很简单,则只需使用easure(),is_dir(),is_file()。
原始:https://juejin.cn/post/7111159430544113678