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('?帅*.*'))

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

文末声明:

您必须遵守关于,您可以随意转发/引用,但要注明原作者Leon或设置本文跳转连接,并且您必须在文中包含或提醒浏览者遵守作者声明
欢迎关注公众号获取第二手文章!高效工作法

暂无评论

发送评论 编辑评论


				
上一篇