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