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

标签 python directory subdirectory pathlib

<分区>

根据 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() 是“现代”的吗 os.mkdir()os.makedirs() 的实现?
  2. 什么时候应该使用 pathlib.Path.mkdir()os.mkdir()os.makedirs()?有任何性能差异吗?

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

最佳答案

mkdir 不会创建在函数调用时不存在的中间级目录。 makedirs 可以。

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

否则,行为是相同的。

关于python - 什么时候应该使用 pathlib.Path.mkdir() 与 os.mkdir() 或 os.makedirs()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57246345/

相关文章:

c# - 从目录结构创建 xml

objective-c - 按创建日期排序文件 - iOS

linux - 将目录权限应用于 linux 中的所有新子目录

nginx - 使用 NGINX 在子目录上托管 Gatsby

php - 批量检查一百万个域的 HTTP header

python - 使用QThread定期更新一个QTableWidget pyqt

python - 将列转换为日期格式( Pandas 数据框)

c - 如何使用递归获取 C 中文件夹的总大小?

linux - 将文件夹移动到 unix 中按字母顺序排列的子目录

python - Pandas 读取 <key>=<value> 的日志文件