问题:Python 中的# Pathlib 与 os.path.join

当我需要在脚本中定义文件系统路径时,我使用os.path.join来保证路径在不同的文件系统上是一致的:

from os import path
path_1 = path.join("home", "test", "test.txt")

我也知道有一个基本相同的Pathlib库:

from pathlib import Path
path_2 = Path("home") / "test" / "test.txt"

这两种处理路径的方法有什么区别?哪一个更好?

解答

pathlib是自 Python 3.4 以来更现代的方式。pathlib的文档说_“对于字符串的低级路径操作,您还可以使用 os.path 模块。”_

加入路径并没有太大区别,但其他路径命令使用pathlibos.path更方便。例如,要获取“stem”(不带扩展名的文件名):

os.path:splitext(basename(path))[0]

路径库:path.stem

此外,您也可以使用相同类型的语法(逗号而不是斜杠)来连接带有pathlib的路径:

path_2 = Path("home", "test", "test.txt")

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐