``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`` 函数.