嗨 我想提出多个新目录的一组根目录,每一个名为基于名称使基于列表中的多个目录蟒蛇
例如名单上
表看起来是
FOLDER_1
Folder_x
Folder_y
有一个简单的方法在Python做到这一点?
嗨 我想提出多个新目录的一组根目录,每一个名为基于名称使基于列表中的多个目录蟒蛇
例如名单上
表看起来是
FOLDER_1
Folder_x
Folder_y
有一个简单的方法在Python做到这一点?
os.mkdir(name_of_dir)
是你的朋友。
os.path.join结合您的根目录和名称,和os.mkdir来创建目录。循环使用for容易完成。
import os
root_path = '/whatever/your/root/path/is/'
folders = ['Folder_1','Folder_x','Folder_y']
for folder in folders:
os.mkdir(os.path.join(root_path,folder))
下面是使用灵活的自定义功能来做到这一点的一种方法。请注意,它使用os.makedirs()而不是os.mkdir(),这意味着它将根据需要创建根文件夹,并允许子文件夹路径包含中级目录(如果需要)。
的代码还使用functools.partial()创建一个名为concat_path()
与内置map()功能来连接根目录的名称中使用与每个子文件夹的一个临时的本地函数。然后它再次将map()
应用于该结果,这次仅将os.makedirs()
函数应用于形成的每个完整的子文件夹路径。
import os
import functools
def makefolders(root_dir, subfolders):
concat_path = functools.partial(os.path.join, root_dir)
map(os.makedirs, map(concat_path, subfolders))
if __name__=='__main__':
root_dir = '/path/to/root/folder'
subfolders = ('Numbers/Folder_1', 'Letters/Folder_x', 'Letters/Folder_y')
makefolders(root_dir, subfolders)
这里将由答案的代码创建的文件夹层次:
的部分功能似乎是不必要的复杂。 – blokeley 2011-04-20 12:13:02
感谢制定出完美 – 2011-04-21 05:04:57