python判断linux中文件是否存在,python 判断一个文件是否存在
通常在读写文件之前,需要判断文件或目录是否存在,否则一些处理方法可能会使程序出错。所以做任何事情之前最好先判断文件是否存在。
在这里,我们将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句和pathlib模块。
1.在os模块中使用os模块os.path.exists()方法检查文件是否存在。
判断文件是否存在:importo Sos.path.exists(test _ file . txt)# True OS . path . exists(no _ exist _ file . txt)# false判断文件夹是否存在:importo SOS . path . exists(test _ dir)# True OS . path . exists(no _ exist _ dir)# false可以看出,使用OS . path . exists()方法,可以判断文件和文件夹是否相同。
其实这个方法还是有问题的。假设你想检查文件“test_data”是否存在,但是当前路径中有一个名为“test_data”的文件夹,可能会导致误判。要避免这种情况,您可以这样做:
仅检查文件importo SOS . path . is file( 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。
导入osif os . access(/file/path/foo . txt ,OS。F_OK):打印“给定的文件路径存在。”如果os.access(/file/path/foo.txt ,os。R_OK): print 文件可访问读取 if os . access(/File/path/foo . txt),OS。W _ OK):如果是操作系统,打印“文件可以写入”。Access (/file/path/foo.txt ,OS。X _ OK):打印“文件可访问以执行”2。使用Try语句直接在程序中使用open()方法检查文件是否存在,是否可以读写。
语法:
打开(文件/路径)
如果您打开的文件不存在,程序将抛出一个错误,并使用try语句来捕获这个错误。
程序无法访问该文件可能有多种原因:
如果你打开的文件不存在,它会抛出一个FileNotFoundError异常;
如果文件存在,但您没有PersmissionError访问它,将引发PersistenceError异常。
因此,您可以使用以下代码来确定该文件是否存在:
try:f=open()f . close()except file not found错误:print file not found 除了持久性错误:print 您没有权限访问此文件。实际上,没有必要如此详细地处理每个异常。以上两个例外都是IOError的子类。所以你可以简化程序:
Try: f=open () f.close () except io错误:print 文件不可访问。通过使用try语句来处理所有异常是非常简单和优雅的。与其他外部模块相比,无需引入其他外部模块。
3.使用pathlib模块pathlib模块在Python 3版中是内置模块,但在Python 2版中,需要单独安装三方模块。
要使用pathlib,您需要使用文件路径来创建path对象。该路径可以是文件名或目录路径。
检查路径是否存在path=path lib . path( path/file )path . exist()检查路径是否由文件path=path lib . path( path/file )path . is _ file()重现。请注明出处:https://my.oschina.net/jhao104/blog/1490038.
转载于:https://my.oschina.net/jhao104/blog/1490038
历史提交的图片或压缩文件
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。