我什么时候应该使用 pathlib.Path.mkdir() 与 os.mkdir() 或 os.makedirs()?
When should I use pathlib.Path.mkdir() vs os.mkdir() or os.makedirs()?
根据 python 3.6 文档,可以通过以下方式创建目录:
pathlib.Path.mkdir(mode=0o777, parents=False, exist_ok=False)
os.mkdir(path, mode=0o777, *, dir_fd=None)
os.makedirs(name, mode=0o777, exist_ok=False)
问题:
- 看起来
pathlib.Path.mkdir()
做了大部分 os.mkdir()
和 os.makedirs()
做。 pathlib.Path.mkdir()
是 "modern"
os.mkdir()
和 os.makedirs()
? 的实现
- 我什么时候应该使用
pathlib.Path.mkdir()
与 os.mkdir()
或 os.makedirs()
?有任何性能差异吗?
请解释有关 POSIX 的注意事项。谢谢。
mkdir
不会创建函数调用时不存在的中间级目录。 makedirs
确实如此。
Path.mkdir
也可以,但它被称为 Path 对象的方法(而其他两个被称为接收路径,无论是通过带有路径的字符串还是 Path 对象(从 Python 3.6), 作为函数的参数).
否则,行为相同。
根据 python 3.6 文档,可以通过以下方式创建目录:
pathlib.Path.mkdir(mode=0o777, parents=False, exist_ok=False)
os.mkdir(path, mode=0o777, *, dir_fd=None)
os.makedirs(name, mode=0o777, exist_ok=False)
问题:
- 看起来
pathlib.Path.mkdir()
做了大部分os.mkdir()
和os.makedirs()
做。pathlib.Path.mkdir()
是 "modern"os.mkdir()
和os.makedirs()
? 的实现
- 我什么时候应该使用
pathlib.Path.mkdir()
与os.mkdir()
或os.makedirs()
?有任何性能差异吗?
请解释有关 POSIX 的注意事项。谢谢。
mkdir
不会创建函数调用时不存在的中间级目录。 makedirs
确实如此。
Path.mkdir
也可以,但它被称为 Path 对象的方法(而其他两个被称为接收路径,无论是通过带有路径的字符串还是 Path 对象(从 Python 3.6), 作为函数的参数).
否则,行为相同。