如何使用Python pathlib处理文件名中的多个点?

时间:2019-01-24 22:16:44

标签: python windows file filesystems

当我尝试构建具有“。”的文件路径时,pathlib出现问题。以其名称,pathlib模块将忽略它。

以下是示例行(我尝试了多个版本,所有都导致了相同的问题)

问题在于原始文件名将来自另一个应用程序,所以我自己不能编辑该文件名。如果可能的话,我也不想做字符串替换工作。

path = r“ c:\ temp”

1

p=Path(path).joinpath("myfile.001").with_suffix(".bat")

2

p=Path(path, "myfile.001").with_suffix(".bat")

3

p=Path(path).with_name("myfile.001").with_suffix(".bat")

所有这些行将产生为

WindowsPath('C:/temp/myfile.bat')

那么,如何使pathlib.Path正确构建此完整路径。最终路径必须是

WindowsPath('C:/temp/myfile.001.bat')

不是

WindowsPath('C:/temp/myfile.bat')

自然地,我正在寻找一种通过pathlib本身进行操作的方法,否则我只能使用os。

谢谢

1 个答案:

答案 0 :(得分:3)

您正在告诉pathlib用后缀data "aws_iam_policy" "config_role" { arn = "arn:aws:iam::aws:policy/service_role/AWSConfigRole" } 替换后缀.001。 pathlib符合。

告诉pathlib将.bat添加到现有后缀。

.bat