通常在读写文件之前,需要判断文件或目录是否存在,否则一些处理方法可能会使程序出错。所以它最好在做任何事情之前判断该文件是否存在。
这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、try语句和pathlib模块。
1.使用操作系统模块
os模块中的()方法用于检查文件是否存在。
判断文件是否存在。
一个
2
三
四
五
六
七
导入操作系统
#如果存在,则返回tru:可以这样。
仅检查文件
一个
2
gtgtgtimport操作系统
(#34测试-数据#34)
使用这种方法,如果文件"测试数据"不存在,则返回fals:。
os。f_ok:检查文件是否存在。
os。r_ok:检查文件是否可读。
os。w_ok:检查文件是否可以写入。
os。x_ok:检查文件是否可以执行。
该方法通过判断文件路径是否存在,以及各种访问的权限,返回tru:
gtgtgt打印编号34giv文件路径存在。#34
gtgtgtif(#34/fil:
gtgtgt打印#34文件可读取#34
gtgtgtif(#34/fil:
gtgtgt打印#34文件可用于写入#34
gtgtgtif(#34/fil:
gtgtgt打印#34文件可访问以执行#34
使用try语句
您可以在程序中直接使用op:。
一个
2
三
四
五
六
七
try:
f打开()
()
除了fil:
打印#34文件未找到。#34
除了p:
你没有权限访问这个文件。#34
事实上,没有必要如此详细地处理每个异常。以上两个例外都是io:。
一个
2
三
四
五
try:
f打开()
()
除了io:
打印#34文件不可访问。#34
使用try语句判断,处理所有异常非常简单优秀。优雅。而且与其他相比不需要引入其他外部模块。
3.使用pathlib模块
pathlib模块在python3版本中是内置模块,但在python2中,需要单独安装三方模块。
使用pathlib需要使用文件路径来创建path对象。该路径可以是文件名或目录路径。
检查路径是否存在。
一个
2
路径(#34路径/文件#34)
path.exist()
检查路径是否是文件。
一个
2
路径(#34路径/文件#34)
_文件()
判断文件是否为空:
复制代码
复制代码
#!/usr/bin/envpython
#coding:utf-8
#dat:2018-04-03
导入操作系统
文件路径#34/选项/数据/报告#34
文件名#34r:
打印(#34文件存在#34)
如果(fil:
打印(#34文件存在并且不是空的#34)
#打印((文件))
(文件)
(#39ls-左%s#39%(文件))
:
打印(#34文件存在,但为空...#34)
(#39ls-左%s#39%(文件))
:
打印(#34文件不存在#34)
原因一::打开了一个文件。;不存在。在这个例子中,他故意输入了一个文件名。;不存在,并试图打开它。该计划不能找不到这个文件名,所以它引发了io:文件#34#34,第1行,在io:[错误2]没有这样的文件或directory:#39a.txt#39”
原因2:写入:文件时遇到python错误。有同学遇到过ioerrorrno0的错误,正在使用。一种打开文件,然后读取文件内容的方法。修改读取内容后重写文件,程序在写入时也遇到了ioerror错误。这时候你要注意看完之后记得关闭文件。当你需要写文件时,你应该再次以w模式打开文件。