【Python】Python检查文件或文件夹路径是否存在

目录

问题背景

功能实现

代码解析


问题背景

在某些场景中,我们需要在使用文件或者文件夹前判断一下其是否存在,以防出现一些意外的报错,为了更好的使用该功能,可以把这个功能封装成为一个函数,具体实现如下:

功能实现

python 复制代码
def check_path_exist(path,log)

  if os.path.exists(path):

    return True

  else:

    dirname=os.path.dirname(path)

    basename=os.path.basename(path)

    log.write("ERROR:File/Dir[%s]does not existed in %s.\n"%(basename,dirname))

    return False

代码解析

os.path 库主要针对路径、文件名和目录名进行操作。

os.path.exists(path)

判断传入路径或文件描述符,判断路径是否存在或者描述符是否有效。因为os.path还有其他判断文件和路径的函数,为了方便,我们使用exists就可以包含 isfile()、isdir() 和 islink() 这些函数,使用这一个函数判断文件或目录或软链接是否存在就可以。

print(os.path.exists('/project/test'))

#输出:True print(os.path.exists('/project/test/test.py')) #输出:True

os.path.dirname(path)

返回path的路径部分,若path指向一个文件,则返回文件所在的目录路径; 若path指向一个目录,则返回此目录上层目录的路径。此函数就是以path中最后一个 \ 或 / 为标识截取的字符串。

print(os.path.dirname('/project/test/'))

#输出:'/project/test' print(os.path.dirname('/project/test'))

#输出:'/project'

os.path.basename(path)

该函数用于获取路径中的文件名部分,函数会返回路径中的最后一部分,即文件名或目录名。如果路径是以斜杠(/)结尾,则返回空字符串。

print(os.path.exists('/project/test/'))

#输出:空

print(os.path.exists('/project/test/test.py')) #输出:test.py

相关推荐
m0_640309308 分钟前
c++如何判断两个文件路径是否物理指向同一个磁盘文件_equivalent【详解】
jvm·数据库·python
数智工坊18 分钟前
深度拆解AnomalyAny:异常检测新工作,利用Stable Diffusion生成真实多样异常样本!
人工智能·pytorch·python·stable diffusion
Shorasul21 分钟前
Django 信号中为 ImageField 指定自定义保存路径的正确实践
jvm·数据库·python
Wyz2012102427 分钟前
CSS如何实现移动端点击高亮去除_设置tap-highlight-color
jvm·数据库·python
日光明媚29 分钟前
SoulX-FlashTalk 技术报告解读:从“严格因果”到“双向流式蒸馏”,实时数字人为什么能做到 0.87s 延迟、32FPS 和长时稳定?
人工智能·python·深度学习·ai作画·aigc·音视频
粉嘟小飞妹儿34 分钟前
如何在云主机上安装Oracle 19c_公网IP绑定与安全组端口开放
jvm·数据库·python
飞Link34 分钟前
掌控 Agent 的时空法则:LangGraph Checkpoint (检查点) 机制深度实战
开发语言·python·算法
zopple38 分钟前
Laravel与ThinkPHP框架深度对比
java·python·php·laravel
weixin_586061461 小时前
为什么Bootstrap的下拉菜单在Firefox下显示异常
jvm·数据库·python
qq_189807031 小时前
如何导出特定分区_EXPDP TABLES=表名-分区名进行单区数据备份
jvm·数据库·python