您好 我想在一个根目录中创建多个新目录,每个目录根据名称列表命名
e.g。
列表看起来像这样
FOLDER_1
Folder_x
Folder_y
在python中有一种简单的方法吗?
答案 0 :(得分:9)
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))
答案 1 :(得分:1)
这是使用灵活的自定义功能执行此操作的一种方法。请注意,它使用os.makedirs()而不是os.mkdir(),这意味着如果需要,它还将创建根文件夹,并允许子文件夹路径包含中间级目录(如果需要)。
代码还使用functools.partial()创建一个名为concat_path()
的临时本地函数,与内置map()函数一起使用,将根目录的名称与每个子文件夹连接起来。然后,只有将map()
函数应用于所形成的每个完整子文件夹路径,它才会再次将os.makedirs()
应用于该结果。
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)
答案 2 :(得分:0)
os.mkdir(name_of_dir)
是你的朋友。
答案 3 :(得分:0)
os.path.join合并您的根目录和名称,并os.mkdir创建目录。使用for循环很容易。
答案 4 :(得分:0)
根据需要设置文件夹名称
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))
答案 5 :(得分:0)
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')
通过这种方式,您将获得更多。
答案 6 :(得分:0)
我也遇到了同样的情况,最后得到了一个小的工作输出,尝试一下。
我有两个文件,第一个是程序文件,第二个是包含文件夹名称列表的.txt文件。
import os
f = open('folder.txt', 'r')
for g in f:
os.mkdir(g)
f.close()
答案 7 :(得分:0)
import os
root_dir = 'root_path\\whateverYouWant\\'
list_ = ['Folder_1', 'Folder_x', 'Folder_y']
for folder in list_:
os.makedirs(root_dir + folder)