问题描述
|
你好
我想在一个设置的根目录中创建多个新目录,每个目录都基于一个名称列表进行命名
例如
清单看起来像这样
文件夹_1
Folder_x
Folder_y
有没有一种简单的方法可以在python中做到这一点?
解决方法
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()函数一起使用,以将根目录的名称与每个子文件夹的名称连接在一起。然后,仅这次将os.makedirs()
函数应用于形成的每个完整子文件夹路径,才再次对结果应用map()
。
import os
from functools import partial
def makefolders(root_dir,subfolders):
concat_path = partial(os.path.join,root_dir)
makedirs = partial(os.makedirs,exist_ok=True) # Python 3.2+
for path in map(concat_path,subfolders):
makedirs(path)
if __name__==\'__main__\':
root_dir = \'/path/to/root/folder\'
subfolders = (\'Numbers/Folder_1\',\'Letters/Folder_x\',\'Letters/Folder_y\')
makefolders(root_dir,subfolders)
,os.mkdir(name_of_dir)
是你的朋友。,os.path.join组合您的根目录和名称,os.mkdir来创建目录。遍历事物很容易完成。,根据需要设置文件夹名称
import os
root_path = \'/home/sagnik\'
folders= [None] * 201
for x in range(0,201):
print(str(x))
folders[x] =\"folder\"+str(x)
建立资料夹
for folder in folders:
os.mkdir(os.path.join(root_path,folder))
,from os import makedirs
makedirs(\'1/2/3/4/5/6/7/8/4/4/5/5/5/5/5/5/5/55/5/5/5/5\')
这样一来,您将获得更多。