2017-07-17 4 views
-2

J'ai un dossier racine, disons Z.Comment créer plusieurs dossiers imbriqués en Python?

À l'intérieur de Z, je dois créer dix dossiers (disons Q, W, E, R, T, Y, U, I, O, P, A). En outre, je voudrais faire deux dossiers (disons M et N) dans chaque de ces dix dossiers

Comment puis-je résoudre cela en utilisant Python?

+0

Utilisez 2 pour les boucles et os.path.join. –

Répondre

1
import os 
atuple = ('Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A') 
atuple2 = ('M', 'N') 
for dir1 in atuple: 
    for dir2 in atuple2: 
     os.makedirs(os.path.join(dir1, dir2)) 
1

Vous pourriez avoir un problème de "Permission refusée". Utilisez sudo et chmod sur le script.

import os 
paths=['Q','W','E','R','T','Y','U','I','O','P','A'] 
main_path = '/root/' 

for p in paths: 
    os.mkdir(main_path+p) 
    os.mkdir(main_path+p+'/M') 
    os.mkdir(main_path+p+'/N') 
0

os.makedirs, va créer tous les répertoires non-Existant à partir d'un chemin et os.path.join va créer un chemin complet d'arguments:

import os 
root = '/tmp' 
directories = ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A'] 
nestedDirectories = ['M', 'N'] 

for d in directories: 
    path = os.path.join(root, d, *nestedDirectories) 
    os.makedirs(path) 
+0

Il va créer le dossier 'N' imbriqué dans' M', ce n'est pas ce qu'il veut – Alexey

1
import os 
root = 'Z' 
midFolders = ['Q', 'W', 'E', 'R', 'T', 'Z', 'U'] 
endFolders = ['M', 'N'] 
for midFolder in midFolders: 
    for endFolder in endFolders: 
     os.makedirs(os.path.join(root, midFolder,endFolder))