如何向Python pathlib Path对象批量添加多个路径元素?
简化Path对象与字符串列表的路径拼接方式
当然有更简洁的写法,推荐用Path对象自带的joinpath()方法——它原生支持传入多个路径片段,配合Python的列表解包语法,就能一步完成所有字符串的拼接:
from pathlib import Path a = Path("a") lst = ["b", "c", "d"] a = a.joinpath(*lst) print(a)
执行结果和原代码一致:
a/b/c/d
如果偏好函数式编程风格,也可以用functools.reduce来累积执行路径拼接操作:
from pathlib import Path from functools import reduce a = Path("a") lst = ["b", "c", "d"] a = reduce(lambda path, segment: path / segment, lst, a) print(a)
两种方法都能替代原有的for循环,其中joinpath()是pathlib官方更推荐的用法,代码可读性更高。
内容的提问来源于stack exchange,提问作者Nico Schlömer
相关产品推荐
相关产品推荐

