使用python创建文件夹

有时候需要仿照一个已存在的文件夹创造和它同样结构的空文件夹(子文件夹名相同)。
之前使用python的os.system()来实现,先读取,再一层一层地创建。
今天发现python的os中提供了方便的makedir方法,可以用来递归的创建目录,即中间文件夹若不存在也会被创建。
Example:

1
2
3
4
5
import os
source_path='xxx'
subdir=os.listdir(source_path)
for d in subdir:
os.makedirs(os.path.join('ddd',d))


Update
使用这种方法的时候,当想要创建的文件夹已经存在时会出现异常,调整代码如下:

1
2
3
import os
if not os.path.exists(directory):
os.makedirs(directory)