根据列表创建多个目录
你好,
我想在一个指定的根目录下创建多个新文件夹,每个文件夹的名字都是根据一个名字列表来的。
比如,
这个列表看起来是这样的:
Folder_1
Folder_x
Folder_y
有没有简单的方法可以用Python来做到这一点呢?
9 个回答
2
根据需要创建文件夹名称
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))
3
这里有一种方法可以使用灵活的自定义函数来实现。需要注意的是,它使用了 os.makedirs(),而不是 os.mkdir(),这意味着如果需要的话,它会同时创建根文件夹,并且允许子文件夹路径中包含中间级目录。
这段代码还使用了 functools.partial() 来创建一个名为 concat_path()
的临时本地函数,配合内置的 map() 函数使用,以便将根目录的名称和每个子文件夹的名称连接起来。然后,它对每个连接后的路径使用 os.makedirs()
来创建子文件夹路径。
import os
from functools import partial
def makefolders(root_dir, subfolders):
concat_path = partial(os.path.join, root_dir)
for subfolder in map(concat_path, subfolders):
os.makedirs(subfolder, exist_ok=True) # Python 3.2+
if __name__=='__main__':
root_dir = '/path/to/root/folder'
subfolders = ('Numbers/Folder_1', 'Letters/Folder_x', 'Letters/Folder_y')
makefolders(root_dir, subfolders)
18
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))
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。