Comment ça marche mkdir et makedirs ? [Résolu]

Messages postés
11
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
14 février 2012
- - Dernière réponse : undertaker4000
Messages postés
11
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
14 février 2012
- 6 nov. 2010 à 06:13
Bonjour,
je cherche à écrire un petit "machin" qui me permet de créer un dossier - avec sous-dossiers et fichiers - en fonction de quelques paramètres particuliers comme le titre, un numéro de série.

Mais où je coiiiince c'est à 2 endroits :
1. Au moment de vouloir créer un nouveau dossier :
rep_cour = os.getcwd() #Ici : OK
lstDossiers = ['/Dossier00', '/Dossier01']

for i in lstDossiers:
    print 'Dossier cree : ', rep_cour + i #Ici : OK
    NouvRep 'NouvRep ' + rep_cour + i
    print NouvRep   #Ici : OK
    os.mkdir(NouvRep)   #Ici : MON PROBLEME !


À ma dernière instruction, j'ai un message d'erreur :

...line 29, in <module> os.mkdir(NouvRep)
OSError: [Errno 2] No such file or directory: 'NouvRep = /media/65525C0E6FEBBD75_/Mes documents/... /Edition_Linux/Dossier00/'

or, je veux créer un nouveau dossier appelé - dans cet exemple minimaliste - "Dossier00"
J'ai essayé également sans le '/' après le nom du nouveau dossier, mais rien n'y fait !

Comment faire pour que le contenu de la variable NouvRep soit compris par le système comme étant l'adresse du dossier à créer ?

2. Dans le même ordre d'idée, je ne comprends pas comment je peux encoder un dossier complet (c'est-à-dire avec sous-dossiers compris en employant la commande os.makedirs()

Merci de m'aider.
A+
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
97
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
7 décembre 2018
38
3
Merci
Bonsoir,
Je suis sous Windows XP et ça marche très bien avec ce code:
import os

newrep = "C:\\Python_Test"
#On indique le nouveau repertoire courant
os.chdir(newrep)
print os.getcwd()

for dossier in ['Dossier00', 'Dossier01', 'Dossier02']:
    os.makedirs(dossier)

for dossier in os.listdir(newrep):
    print dossier

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de lespinx
Messages postés
11
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
14 février 2012
0
Merci
Bonjour lespinx,
Merci pour ton aide précieuse.
En relisant mon code à tête reposée, j'ai constaté que j'avais commis un grosse grosse fôte d'inattention dans mon code :
    NouvRep 'NouvRep ' + rep_cour + i

L'ajout d'une chaîne 'NouvRep = ' pour constituer l'adresse du répertoire a perturbé Python qui m'a envoyé un message d'erreur que je n'ai pas su comprendre tout de suite ... la fatigue, l'obstination et ... mon grand âââge, peut-être

Il faut bien reconnaître qu'au niveau de la doc officielle, ces deux instructions sont très peu détaillées. Il est également vrai que quand on les a fait tourner une fois, on a compris comment ça va surtout quand on s'y est cassé les dents dessus quelques heures. Là, au moins, on sait ce qu'il ne faut pas faire. Hi hi hi

Merci pour ton aide.
A+
OVéMast
Commenter la réponse de undertaker4000