我什么时候应该使用 pathlib.Path.mkdir() 与 os.mkdir() 或 os.makedirs()?

When should I use pathlib.Path.mkdir() vs os.mkdir() or os.makedirs()?

根据 python 3.6 文档,可以通过以下方式创建目录:

  1. pathlib.Path.mkdir(mode=0o777, parents=False, exist_ok=False)
  2. os.mkdir(path, mode=0o777, *, dir_fd=None)
  3. os.makedirs(name, mode=0o777, exist_ok=False)

问题:

  1. 看起来 pathlib.Path.mkdir() 做了大部分 os.mkdir()os.makedirs() 做。 pathlib.Path.mkdir() 是 "modern" os.mkdir()os.makedirs()?
  2. 的实现
  3. 我什么时候应该使用 pathlib.Path.mkdir()os.mkdir()os.makedirs()?有任何性能差异吗?

请解释有关 POSIX 的注意事项。谢谢。

mkdir 不会创建函数调用时不存在的中间级目录。 makedirs 确实如此。

Path.mkdir 也可以,但它被称为 Path 对象的方法(而其他两个被称为接收路径,无论是通过带有路径的字符串还是 Path 对象(从 Python 3.6), 作为函数的参数).

否则,行为相同。