You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否将含通配符的pathlib.Path对象作为glob()的搜索模式?

能不能用带通配符的Path对象作为glob的搜索模式?

不行,pathlib.Path.glob()方法要求传入字符串类型的搜索模式,不能直接传Path对象。

你给出的示例代码不仅模式类型不对,还存在调用方式错误:glob()是实例方法,得先基于基准路径创建Path实例再调用该方法,不能直接用pathlib.Path.glob()这种类调用方式。

正确的写法有两种:

  1. 将带通配符的Path对象转为字符串,再传给基准路径的glob方法:
import pathlib

pattern_path = pathlib.Path('/') / 'home' / 'user' / '*' / 'folder'
base_path = pathlib.Path('/home/user')
result = base_path.glob(str(pattern_path))
  1. 更简洁的方式:把基准路径和通配模式拆分,只将含通配符的部分作为字符串传给glob:
import pathlib

base_path = pathlib.Path('/home/user')
# 直接用字符串模式,更符合glob的设计逻辑
result = base_path.glob('*/folder')

如果强行传Path对象,会触发TypeError,提示参数类型不符合要求。

内容的提问来源于stack exchange,提问作者buhtz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 14:36:05