``makedirs`` 和 ``removedirs`` 函数用于创建或删除目录层,如 [Example 1-30 #eg-1-30] 所示.
====Example 1-30. 使用 os 模块创建/删除多个目录级====[eg-1-30]
```
File: os-example-6.py
import os
os.makedirs("test/multiple/levels")
fp = open("test/multiple/levels/file", "w")
fp.write("inspector praline")
fp.close()
# remove the file
os.remove("test/multiple/levels/file")
# and all empty directories above it
os.removedirs("test/multiple/levels")
```
``removedirs`` 函数会删除所给路径中最后一个目录下所有的空目录.
而 ``mkdir`` 和 ``rmdir`` 函数只能处理单个目录级. 如 [Example 1-31 #eg-1-31] 所示.
====Example 1-31. 使用 os 模块创建/删除目录====[eg-1-31]
```
File: os-example-7.py
import os
os.mkdir("test")
os.rmdir("test")
os.rmdir("samples") # this will fail
*B*Traceback (innermost last):
File "os-example-7", line 6, in ?
OSError: [Errno 41] Directory not empty: 'samples'*b*
```
如果需要删除非空目录, 你可以使用 ``shutil`` 模块中的 ``rmtree`` 函数.
====Example 1-30. 使用 os 模块创建/删除多个目录级====[eg-1-30]
```
File: os-example-6.py
import os
os.makedirs("test/multiple/levels")
fp = open("test/multiple/levels/file", "w")
fp.write("inspector praline")
fp.close()
# remove the file
os.remove("test/multiple/levels/file")
# and all empty directories above it
os.removedirs("test/multiple/levels")
```
``removedirs`` 函数会删除所给路径中最后一个目录下所有的空目录.
而 ``mkdir`` 和 ``rmdir`` 函数只能处理单个目录级. 如 [Example 1-31 #eg-1-31] 所示.
====Example 1-31. 使用 os 模块创建/删除目录====[eg-1-31]
```
File: os-example-7.py
import os
os.mkdir("test")
os.rmdir("test")
os.rmdir("samples") # this will fail
*B*Traceback (innermost last):
File "os-example-7", line 6, in ?
OSError: [Errno 41] Directory not empty: 'samples'*b*
```
如果需要删除非空目录, 你可以使用 ``shutil`` 模块中的 ``rmtree`` 函数.