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

如何使用pathlib拼接Python Path对象与变量且不添加斜杠?

问题

现有以下代码:

>>> file = 'somefile.xyz'
>>> p = Path('/Some/folder/prefix_')

使用Path的/运算符执行:

>>> print(p / file)

得到结果:

/Some/folder/prefix_/somefile.xyz

但实际需要的结果是:

/Some/folder/prefix_somefile.xyz

如何通过pathlib实现该需求?

解决方案

可以通过以下两种方式实现:

方法一:基于父目录拼接新文件名

提取p的父目录,将p的名称(即prefix_)与目标文件名直接拼接后,作为新的文件名关联到父目录下:

from pathlib import Path

file = 'somefile.xyz'
p = Path('/Some/folder/prefix_')

result = p.parent / (p.name + file)
print(result)  # 输出: /Some/folder/prefix_somefile.xyz

方法二:使用with_name方法替换文件名

利用Path对象的with_name方法,直接将原有名称与目标文件名拼接后作为新名称替换:

from pathlib import Path

file = 'somefile.xyz'
p = Path('/Some/folder/prefix_')

result = p.with_name(p.name + file)
print(result)  # 输出: /Some/folder/prefix_somefile.xyz

说明

原代码中p指向的是路径节点prefix_,使用/运算符会将file作为该节点的子路径,而我们需要的是将prefix_与file合并为同一个文件名,因此需要通过提取原有名称并拼接的方式生成新的路径节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:18:20