python获取文件路径-pathlib

python的glob.glob()函数递归匹配文件或目录 glog.glob函数源码如下:适配python3.12版本,不同的版本参数可能不同。参数介绍:1)pathname:一个字符串,表示要匹配的文件模式。'*':匹配给定路径下所有的文件和目录(*不会递归查找子目录)。'*.txt':匹配给定路径下所有以.txt结尾的文件(不会递归查找子目录)。'a/*.csv':匹配a目录下所有以.csv结尾的文件。'**':匹配当前目录及其所有子目录下的文件和目录(**支持递归)。 阅读详情

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

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

Python pathlib模块详解:优雅处理文件路径 pathlib模块是Python 3.4及以上版本中引入的标准库,用于处理文件路径和文件系统操作。它提供了一种面向对象的路径操作方式,使得代码更加清晰易读,并且避免了在不同操作系统下的路径分隔符问题。通过本文的介绍,可以学习到Python pathlib模块的基本用法、常用类和方法、路径操作技巧以及实际应用示例。pathlib模块提供了一种优雅而直观的方式来处理文件路径和文件系统操作,使得代码更加清晰易读,并且避免了跨平台路径分隔符问题。 阅读详情

相关推荐

使用Python的pathlib模块处理文件路径

pathlib模块提供了一种简洁、直观的方式来处理文件路径,使得文件路径的操作更加方便和易读。通过导入pathlib模块并创建Path对象,我们可以轻松地执行文件路径的各种操作,包括获取文件名和目录名、检查路径是否存在、检查路径类型、拼接路径、遍历目录等。在上面的示例中,使用iterdir()方法获取目录下的所有文件和子目录,并使用is_file()和is_dir()方法判断其类型。在上面的示例中,根据is_file()和is_dir()方法的返回值判断路径的类型。首先,我们需要导入pathlib模块。

ByteBuster的博客 204

pathlib.Path模块下的glob、rglob,glob模块下的glob、iglob

glob.glob(*)、glob.glob(**)、glob.iglob(*)、glob.iglob(**) Path.glob(*)、Path.glob(**)、Path.rglob(*)、Path.rglob(**)

jieru_liu的博客 2万+

从M.2到E1.S,从U.2到E3.S:数据中心SSD接口的世代更迭与选择逻辑

本文深入探讨了数据中心SSD接口从M.2、U.2到E1.S、E3.S的演进历程与选型逻辑。通过对比分析不同接口的物理规格、性能表现和散热设计,揭示了EDSFF接口在数据中心环境中的优势,包括更高的部署密度、更好的散热效能和更强的扩展能力。文章还提供了针对不同应用场景的SSD选型建议,帮助IT决策者优化存储架构。

weixin_33816300的博客 417

Python路径操作库pathlib,比os+glob+shutil更好用

比os、glob和shutil好用,操作简便快捷易理解

XerCis的博客 7992

全国30米分辨率逐年植被覆盖度(FVC)数据集

植被覆盖度是描述地表植被的重要参数与生态环境的基本指标,在大气圈、土壤圈、水圈和生物圈中都占据着重要的地位,区域及全球范围的植被覆盖度估算对植被及相关领域的研究具有重要意义。分别对LANDSAT 5/7/8系列数据计算FVC,其中Landsat5 和Landsat 7NDVI计算利用 B4和B3波段,Landsat8 和Landsat9 NDVI计算利用 B5和B4波段。算法从当年所有观测数据中,以低云、低探测角度和最高NDVI值为标准,选择最佳的可用像元值,并进行换算。(3) FVC的计算。

地球资源数据云的官方博客 1808

UE5在Ubuntu22.04.4下的高效开发环境配置指南

本文详细介绍了在Ubuntu 22.04.4系统上配置UE5高效开发环境的完整指南,包括系统准备、显卡驱动安装、UE5引擎编译与配置、开发工具链设置以及性能优化技巧。通过逐步指导,帮助开发者快速搭建稳定的UE5开发环境,解决常见问题,提升开发效率。

weixin_29251131的博客 383

python-os模块、glob模块、pathlib、shutil模块之间的区别与辨析,文件及文件夹操作,python与操作系统文件系统的交互。

python-os模块、glob模块、pathlib、shutil模块之间的区别与辨析,文件及文件夹操作,python与操作系统文件系统的交互。

小坏蛋的博客 2772

Simulink模块库介绍(一)——信号源模块

Simulink模块库介绍(一)——信号源模块库目录Clock模块Digital Clock模块Band-Limited White Noise模块 目录 simulink模块库中提供了丰富的信号源模块组。逐一介绍,算是对之前做个总结吧 Clock模块 通过时钟模块,输出的时间作为判断呢,如下图,前2s之前为高斯白噪声,后2s为正弦曲线,共计10s。 Digital Clock模块 数字时钟模块主要用于离散系统的计时,sample time表示采用时间,如下图:分别是1s和0.5s的采样时间 Band-

5万+

Python——pathlib——利用内置模块pathlib获取指定目录下指定格式的文件路径

import pathlib def get_file(file_path, pattern="*"): """ 函数 获取给定目录下的所有文件的绝对路径 参数 file_path: 文件目录 参数 pattern:默认返回所有文件,也可以自定义返回文件类型,例如:pattern="*.py" 返回值 abspath:文件路径列表 """ ...

qq_39149099的博客 3545

【离线OCR】微信离线实现图片OCR文本和表格识别

基于微信本地OCR引擎(由最新版微信自动安装)。通过Python对其官方调用逻辑进行完整翻译和封装,使开发者可以用简单的API调用其强大的OCR功能。

专注于医院数据分析技术与系统开发的创作与分享。 2624

【38】OpenCV C++实战篇——基于多项式插值的亚像素边缘定位算法

亚像素边缘定位算法实现 本文介绍了一种基于多项式插值的亚像素边缘定位算法,用于提高图像边缘检测的精度。文章首先分析了传统像素级边缘检测方法(如Canny、Sobel)的局限性,指出其在测量应用中的精度不足问题。 算法核心 梯度计算:使用8个方向模板进行卷积运算生成梯度图像 亚像素定位:采用多项式插值方法改进边缘定位精度 实现步骤: 生成8个方向的卷积模板(0°、45°、90°等) 利用filter2D函数计算各方向梯度 通过归一化处理显示梯度图像 代码特点 提供完整的C++实现代码 包含模板生成、梯度计算和

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1099

Python3 pathlib 模块替代 os.path 获取文件路径

没时间整理,推荐一篇文章:《为什么你应该使用 pathlib 》 文章地址:https://treyhunner.com/2018/12/why-you-should-be-using-pathlib/

极客点儿 743

基于方差分解分析气象/水文干旱驱动因素(含MATLAB全代码)

简介基于方差分解方法分析气象/水文干旱驱动因素

WW、forever的博客 801

python的path路径_python路径操作新标准:pathlib 模块

之前如果要使用 python 操作文件路径,我总是会条件反射导入 os.path。 而现在,我会更加喜欢用新式的 pathlib, 虽然用得还是没有 os.path 熟练,但是以后会坚持使用。pathlib 库从 python3.4 开始,到 python3.6 已经比较成熟。如果你的新项目可以直接用 3.6 以上,建议用 pathlib。相比于老式的 os.path 有几个优势:老的路径操作函数...

weixin_39953102的博客 478

内模控制(IMC)——理论、应用与实践

内模控制方法的核心思想是利用被控对象的数学模型(即内模)构建控制器,使得控制器可以“预知”被控系统的动态响应,从而在控制输入中提前补偿模型的固有特性和扰动影响。常见的内模控制结构中,将系统分为无延迟部分和扰动部分,并利用内部模型预测输出值,再通过反馈回路进行误差修正。utuimctufbtutui​mctuf​bt其中,uimctu_imc(t)ui​mct为内模预测得到的预补偿控制量,ufbtu_fb(t)uf​bt。

闲人编程的博客 2633

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python文件操作--Pathlib

之前如果要使用 python 操作文件路径,我总是会条件反射导入 os.path。 而现在,我会更加喜欢用新式的 pathlib, 虽然用得还是没有 os.path 熟练,但是以后会坚持使用。 pathlib 库从 python3.4 开始,到 python3.6 已经比较成熟。如果你的新项目可以直接用 3.6 以上,建议用 pathlib。相比于老式的 os.path 有几个优势: 老的路径操作函数管理比较混乱,有的是导入 os, 有的又是在 os.path 当中,而新的用法统一可以用 pathlib

qq_42684157的博客 1736

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文件处理 pathlib 模块

通过这种方式,我们可以获取到当前文件所在每一级目录的名称,后续操作起来就更为容易了。属性用来获取文件的多个后缀名,并将它们按照序列存放在列表对象中,本例中恰好有一个后缀名,因此,仅一个后缀名被存放进了列表中。有些时候,我们需要知道我们当前引用的路径是相对路径还是绝对路径,可以使用下面的代码。可以看到,此时我们将文件夹目录和文件名称进行了拼接,相当于使用了。还有很多较为常用的方法,这里仅作抛砖引玉,熟练掌握这个模块后,它作为一种高级的文件操作包,相较于传统的。,这其实表示的是,我们当前的文件目录是位于。

u011699626的博客 513

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python pathlib模块

编程中有个比较烦人的事情,Windows系统在文件名中间用的是反斜杠字符,而几乎所有其它计算机系统都是用的斜杠字符: Windows文件名: C:\Users\Administrator\Desktop 大部分其它操作系统: C:/Users/Administrator/Desktop 如果你想让你的Python代码在Windows、Mac和Linux系统都能运行,那你就得处理好这种平台特定问题。 幸好,Python 3 里有个叫pathlib的新模块,能让我们轻松应对文件和路径问题。 使.

记录点滴 692

Python文件路径处理之pathlib2模块

pathlib2模块常用的属性和方法

m0_61064080的博客 2191

from pathlib import path_华丽的蜕变-使用Pathlib模块,文件操作So Easy!

更多精彩内容,请关注微信公众号:python学习开发。前言 大多人处理文件用的最多的还是os模快吧,比如下面这样的操作>>> path.rsplit('', maxsplit=1)[0] 或者写出下面这样长长的代码>>> os.path.isfile(os.path.join(os.path.expanduser('~'), 'realpython.txt'))...

weixin_39684228的博客 8033

exists的用法 python_用pathlib进行Python中的文件路径处理

本文介绍Python中的文件路径处理方法,从字符串连接、os.path.join()到Python3中处理文件路径的简单方法:pathlib。1. 通过字符串连接import pandas as pdparent_path = 'parent_path/'target_path = 'target_path/'target_file = 'target.csv'full_path = p...

weixin_42519733的博客 784

Python 处理文件路径字符串

处理文件路径的字符串时,最好不要直接对字符串进行分割和拼接操作。可以使用Python的os库或者 pathlib库,这样就不用关心跨平台,使用斜线还是反斜杠的问题,也不用考虑文件路径末尾是否有斜线的问题。如果你是用的Python3,就直接选pathlib吧。

2401_89221445的博客 1056

.pkl文件_用pathlib进行Python中的文件路径处理

本文介绍Python中的文件路径处理方法,从字符串连接、os.path.join()到Python3中处理文件路径的简单方法:pathlib。1. 通过字符串连接import pandas as pdparent_path = 'parent_path/'target_path = 'target_path/'target_file = 'target.csv'full_path = p...

weixin_39851914的博客 178

【python第三方库】路径操作模块pathlib详解

pathlib是跨平台的、面向对象的路径操作模块,可适用于不同的操作系统,其操作对象是各种操作系统中使用的路径(包括绝对路径和相对路径),pathlib有两个主要的类,分别为PurePath和Path。在输入文件路径的基础上,通过函数,构造输出文件路径,为后续处理、存储做好准备。in_path:输入文件路径path_str:文件路径构造字符file_suffix:输出文件后缀。...

All_In_gzx_cc的博客 1618

Python 更好的文件路径处理模块 pathlib详解

1. 为什么需要pathlib 在pathlib出现之前, Python 的标准库os.path支持操作文件路径, 使用字符串表示文件路径。 In [1]: import os.path In [2]: os.path.abspath('test') Out[2]: 'C:\\Users\\Public\\Documents\\test' 如以上代码, abspath函数的返回是一个字符串. 如果想要获取父目录, 需要使用字符串的split方法 In [3]: path = os.path..

be5yond的博客 3753

Python3教程:pathlib 模块的用法

pathlib 模块提供了表示文件系统路径的类,可适用于不同的操作系统。使用 pathlib 模块,相比于 os 模块可以写出更简洁,易读的代码。pathlib 模块中的 Path 类继承自 PurePath,对 PurePath 中的部分方法进行了重载,相比于 os.path 有更高的抽象级别。本文将带你学习如何使用 pathlib 模块中的 Path 类读写文件、操纵文件路径和基础文件系统,统计目录下的文件类型以及查找匹配目录下某一类型文件等。...

Python热爱者的博客 7399
上一篇: 清华大学《DeepSeek:从入门到精通》手册
下一篇: pandas-read_excel函数介绍
mxsleon
博客等级 码龄3年 88粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值