Python 判断文件/目录是否存在

本文介绍如何使用Python的OS模块、pathlib模块及异常处理来判断文件或目录是否存在。包括使用os.path.isfile、os.path.isdir、os.path.exists及os.access等方法,并通过try-except结构处理文件未找到、权限不足等问题。

使用OS模块

判断文件是是否存在

os.path.isfile(path)

判断目录是否存在

os.path.isdir(path)

判断文件是否存在

# 使用 path 模块
os.path.exists(path)
# 使用 access() 方法
os.access(path, os.F_OK)

使用 pathlib 模块

import pathlib
path = pathlib.Path('path/to/file')
# 判断路径是否存在
path.exists()
# 判断是否为文件
path.is_file()
# 判断是否为目录
path.is_dir()

 

使用 open 函数和异常捕获

如果直接用 open() 函数打开一个不存在的文件时,程序会抛出异常,我们可以通过 try 语句来捕获异常以达到判断文件是否存在的目的。如果文件不存在,open() 函数会抛出 FileNotFoundError 异常。如果文件无操作权限,则会抛出 PersmissionError 异常。

filePath = '/path/to/file'
try:
    file = open(filePath)
    file.close()
except FileNotFoundError:
    print("No such file or directory: '%s'" % filePath)
except IsADirectoryError:
    print("Is a directory: '%s'" % filePath)
except PermissionError:
    print("Permission denied: '%s'" % filePath)
else:
    print("File is exist: '%s'" % filePath)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值