2016-04-08 2 views
1

Как создать несколько разных папок, которые также содержат несколько разных папок с помощью python?
Мой путь: './work/animals/'. Каталог «животных» содержит папки «кошка», «собака», «лошадь», «мышь», «лев», «гепард», «крыса», «бабуин», «ослик», «змея» и «жираф» ». Мне удалось написать часть, которая создает все папки животных (код ниже), но я также хотел создать три других подпапки, а именно «мужские», «женские» и «не классифицированные» во всех папках животных.Создание похожих нескольких подпапок в нескольких разных папках с использованием python

import os 
root_path = './work/animals/' 
folders = ['cat','dog','horse','mouse','lion','cheetah','rat','baboon','donkey','snake','giraffe'] 

for folder in folders: 
    os.mkdir(os.path.join(root_path,folder)) 
+0

Вы можете выписывать пути этих каталогов, которые вы хотите создать? Это должно указывать на вас в правильном направлении. –

+0

Вы проверили http://stackoverflow.com/questions/14506864/create-new-folders-within-multiple-existing-folders-with-python?rq=1? – MikeC

ответ

1

Как насчет просто делать:

import os 
root_path = './work/animals/' 
folders = ['cat','dog','horse','mouse','lion','cheetah','rat','baboon','donkey','snake','giraffe'] 
subfolders = ['male', 'female', 'uncategorized'] 
for folder in folders: 
    os.mkdir(os.path.join(root_path,folder)) 
    for subfolder in subfolders : 
     os.mkdir(os.path.join(root_path,folder,subfolder)) 
1

Вы можете использовать itertools.product, чтобы получить комбинации животных плюс пола, которые вы хотите, а затем использовать os.makedirs, который будет создавать промежуточные каталоги для вас.

import os 
import itertools 

root_path = './work/animals/' 

folders = ['cat','dog','horse','mouse','lion','cheetah','rat','baboon','donkey','snake','giraffe'] 
genders = ['male', 'female', 'uncategorized'] 

for folder,gender in itertools.product(folders, genders): 
    os.makedirs(os.path.join(root_path,folder,gender)) 
Смежные вопросы