Python 中的 Pathlib 与 os.path.join

Pathlib vs. os.path.join in Python

当我需要在脚本中定义文件系统路径时,我使用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 模块。”

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

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

路径库:path.stem

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

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