如何使用pathlib从当前路径的某些部分创建一个新的Path对象?

时间:2018-04-10 08:01:25

标签: python pathlib

我想用pathlib更改Path对象的一部分。

例如,如果您有一个Path对象:

import pathlib
path = pathlib.Path("/home/user/to/some/floder/toto.out")

如何更改文件名?并获得一个新的路径,例如"/home/user/to/some/folder/other_file.dat"

或者更一般地说,我可以更改该路径的一个或多个元素吗?

我可以获得路径的parts

In [1]: path.parts
Out[1]: ('/', 'home', 'user', 'to', 'some', 'floder', 'toto.out')

因此,一个解决方法是加入所需的部分,创建一个新的字符串然后一个新的路径,但我想知道是否有更方便的工具来做到这一点。

修改

更准确地说,它是否存在等同于path.name的返回路径的补充部分:str(path).replace(path.name, "")

2 个答案:

答案 0 :(得分:6)

为了总结评论,陈述如下:

1)为了更改文件名

ctxClone.drawImage(ImageObjSketch, 34,119,16,16,0,0,canvasClone.width,canvasClone.height);

2)为了改变路径中的一个部分

In [1]: import pathlib

In [2]: path = pathlib.Path("/home/user/to/some/floder/toto.out")

In [3]: path.parent / "other_file.dat"
Out[3]: PosixPath('/home/user/to/some/floder/other_file.dat')

答案 1 :(得分:0)

您可以尝试使用str.format来获取可变文件名

<强>实施例

import pathlib
filename = "other_file.dat"    #Variable. 
path = pathlib.Path("/home/user/to/some/floder/{0}".format(filename))