在一个不存在的目录中用os.mkdir()创建一个新目录时出现错误
os.mkdir()
这是用于在Python中创建一个目录(文件夹)的方法。如果你试图在一个不存在的目录中创建一个新的目录,将会发生错误。(FileNotFoundError
)
import os os.mkdir('not_exist_dir/new_dir') # FileNotFoundError
用os.madeirs()递归地创建目录。
如果你使用os.makedirs()而不是os.mkdir(),它将创建一个中间目录,所以你可以递归地创建一个深层的分层目录。
os.makedirs('not_exist_dir/new_dir')
在这个例子中,它将一次性创建所有这些目录。如果有多个新的中间目录是可以的。
- 中间目录:
not_exist_dir
- 最终目录:
new_dir
但是,如果终端目录已经存在,就会发生错误。(FileExistsError
)
os.makedirs('exist_dir/exist_dir') # FileExistsError
如果有一个参数exist_ok
从Python 3.2开始,增加了参数existence_ok,如果existence_ok=True,即使末端目录已经存在,也不会发生错误。如果结束目录不存在,将创建一个新的目录,如果它存在,将不做任何事情。这很方便,因为你不需要事先检查终端目录的存在。
os.makedirs('exist_dir/exist_dir', exist_ok=True)
如果缺少参数existence_ok
如果你有一个旧版本的Python,并且在os.madeirs中没有参数existence_ok,你可以使用os.path.existence来确定是否有一个结束目录,然后只在没有结束目录的情况下创建一个新目录。
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')