python获取文件路径-pathlib

pathlib 是 Python 标准库的一部分,提供了一种面向对象的方式来处理文件系统路径。结合 glob 模式匹配,可以很方便地找到所有匹配的文件。

点击即可阅读博主原文章

今天介绍 pathlib 获取文件路径,一个是递归获取目录下所有匹配的文件,即包括子文件夹;另一个是仅查找当前文件夹。

应用 rglob 查找目录下所有匹配的文件:

from pathlib import Path
 
# 指定目录路径
directory_path = Path(r'C:\Users\Administrator\Desktop\新建文件夹')
 
# 使用 glob 模式匹配查找所有 .xls 文件(包括子目录)
xls_files = list(directory_path.rglob('*.xls'))
 
# 打印文件路径
for file in xls_files:
    print(file)

上述代码可以找到文件夹:“C:\Users\Administrator\Desktop\ 新建文件夹” 下所有包括子文件夹下的 xls 文件。

如果不需要查询子文件夹,只需要当前文件夹,可以使用 glob () 方法,使用方法和 rglob 是一样的:

from pathlib import Path
 
# 指定目录路径
directory_path = Path(r'C:\Users\Administrator\Desktop\')
 
# 使用 glob 模式匹配查找所有 .xls 文件(不包括子目录)
xls_files = list(directory_path.glob('*.xls'))
 
# 打印文件路径
for file in xls_files:
    print(file)

上述代码会查找文件夹:“C:\Users\Administrator\Desktop\” 当前目录所有的 xls 文件。

这个查找规则基本上和 win 文件管理器查找规则一样,文件拓展名不区分大小写:

#两段规则的查询效果是一样的
xls_files = list(directory_path.glob('*.xls'))
 
xls_files = list(directory_path.glob('*.XLS'))

还可以在文件名或者扩展名处应用通配符查找,例如,查找所有 xls 和 xlsx 文件:

xls_files = list(directory_path.glob('*.XLS*'))

在 xls 后加一个 “*”,可以通配所有扩展名前是 “.xls” 文件,其中包括 xlsx 和 xls;

还可以匹配名字中包含 “leon” 的文件:

xls_files = list(directory_path.glob('*leon*.*'))

查找第二个字是” 帅” 的文件:

xls_files = list(directory_path.rglob('?帅*.*'))

和文件管理器的使用体验基本上是一致的,而且查询速度非常快,大家可以是试一试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值