添加后缀的全路径名,扩展名前

Tomerikoo:

我从移动我的一些代码os.path,以pathlib.Path发现,在总体上要好很多。

在一个特定的任务,我发现,实际上os.path可能会更舒适的使用。我想从一个给定的,通过添加后缀以它的名字和保持相同的根和扩展来创建一个新的路径。例如,来自:

/a/b/c/file.txt

我想:

/a/b/c/file_test.txt

使用os.path,这可以很容易地做到splitext

>>> import os
>>> path = "/a/b/c/file.txt"
>>> base, ext = os.path.splitext(path)
>>> base + "_test" + ext
'/a/b/c/file_test.txt'

但是,渡过了pathlib的文档,我发现with_namewith_suffix并得到了类似:

>>> from pathlib import Path
>>> path = Path("/a/b/c/file.txt")
>>> path.with_suffix('').with_name(path.stem + "_test").with_suffix(path.suffix)
PosixPath('/a/b/c/file_test.txt')

我相信这是远远超过了糟糕os.path的版本。

是否与实现这一目标的一个更好的,更清洁的方式pathlib

蒂埃里Lathuille:

混合你的一些方法,你也可以这样做:

from pathlib import Path

path = Path("/a/b/c/file.txt")
path.with_name(path.stem + '_test' + path.suffix)
# PosixPath('/a/b/c/file_test.txt')

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

什么是全路径名?

想用excel vba在文件扩展名前添加后缀

Powershell 删除完整路径名的扩展名(我不想要文件名)

路径名中的文件名,不包括(未知)扩展名

如何从`find -exec`中以{}传递的路径名中删除扩展名?

在文件名AFTER扩展名后添加后缀(批处理模式)

Makefile:添加目录并修改路径中的扩展名

如何使用Matlab /八度regexprep(正则表达式替换)在扩展名前的文件名中添加后缀

Erlang - 根据扩展名前的后缀编号对文件列表进行排序

包括路径名

将后缀添加到目录中带有扩展名的所有文件

扩展名后递归添加后缀到目录中的所有文件

提取文件路径的完整扩展名

从路径名扩展结果中排除目录

在urls.py中扩展路径名

前缀由路径名扩展产生的每个单词

将后缀添加到所有没有特定扩展名的文件中,并保留文件扩展名

修剪字符串的后缀或扩展名?

在autoconf或makefile中禁用版本后缀/扩展名

如何从 df 列表中正确循环所有 csv 并将其呈现在全局环境中,而没有完整的路径名或扩展名结尾为 df?

如何在扩展名前向文件名添加ID?

在文件名末尾但在扩展名前添加文本

在文件扩展名前替换数字

将带有波浪号的文件名扩展为其全路径(Common Lisp)

在TimedRotatingFileHandler中添加文件扩展名

如何批量添加文件扩展名?

如何为url添加扩展名

htaccess添加文件扩展名或绕过

批量添加文件扩展名