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

亚润罐

尝试构造具有“。”的文件路径时,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。

谢谢

user2357112支持Monica

您要告诉pathlib用后缀替换.001后缀.batpathlib符合。

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

p = Path(path, 'myfile.001')
p = p.with_suffix(p.suffix+'.001')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Python更改目录中的多个文件名

如何获取python中包含多个点的文件名的优雅方法是什么

使用Python pathlib处理非UTF-8 Posix文件名?

lucene如何处理StringField中的点('。')?(发布索引和搜索文件名)

如何使PowerShell处理文件名中的[或]?

在 Python 中处理文件名

在python中使用子进程时如何处理文件名中的空格

如何通过批处理发送文件名并在Java中接受文件名

如何批量处理文件名中的空格?

如何处理文件名中的井号('#')?

如何处理bash中的文件名?

无法处理python 2中的文件名

如何根据文件名创建多个目录并在linux中更改文件名?

使用IFS处理文件名中的空格

使用批处理脚本在目录中获取文件名

使用批处理脚本从文件名中删除日期

根据文件名在python中读取多个图像

Spark流式传输:如何在Python中获取已处理文件的文件名

如何使用批处理文件替换Windows文件名中的单个字符?

如何使用批处理脚本删除Windows 7中许多文件的文件名的某些部分?

使用Python pathlib获取没有文件名的文件的绝对路径

如何使用文件名中的现有Unix时间重命名多个文件?

如何使用文件名重命名多个multi-fasta文件中的标题?

如何比较python中的文件名?

使用pathinfo搜索扩展名时允许文件名中包含点

如何使用php复制php文件的多个文件名?

处理文件名中的点

如何通过在Windows中的文件名之间添加通用名来重命名多个文件?

如何使用批处理仅从输入路径中过滤完整文件名或完整文件夹名?