Python3如何检查文件或文件夹是否存在?

如何检查一个文件或者文件夹存在?有几种方法,Python2和Python3版本也有不同,这是在文件操作中常用到的方法,只有文件存在我们才可以继续对文件进行处理,下面总结了常用的检查文件是否存在的方法。

本代码在Python3.4+下通过, 其他版本略有差异

使用os库

不需要打开文件,直接使用os库方法检查

import os.path
filename='/pythontab.com/file.txt'
os.path.isfile(filename)

检查文件是否存在,成功返回Ture, 失败返回False

注意:仅能检测文件, 而非文件夹

文件夹检查

os.path.exists即可以检查文件也可以检查文件夹

import os
a_path='/pythontab.com/'
if os.path.exists(a_path):
    #do something

文件权限检查

上面仅检查了文件是否存在,并没有检查是否可读或者可写, 可以使用os.access方法

import os
filename='/pythontab.com/file.txt'
if os.path.isfile(filename) and os.access(filename, os.R_OK):
    #do something

既检查了文件是否存在,又检查了文件是否可读

使用pathlib库

从Python3.4开始,python已经把pathlib加入了标准库,不需要自己安装,但Python2版本需要使用pip安装pathlib2

文件是否存在

from pathlib import Path
my_file = Path("/pythontab.com/file.txt")
if my_file.is_file():
    # file exists

文件夹是否存在

if my_file.is_dir():
    # directory exists

文件或文件夹是否存在

if my_file.exists():
    # path exists

上面就是检查文件或文件夹是否存在的方法,如有问题,欢迎留言

点赞