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

undertaker4000 11 Messages postés mercredi 26 mai 2004Date d'inscription 14 février 2012 Dernière intervention - 5 nov. 2010 à 15:16 - Dernière réponse : undertaker4000 11 Messages postés mercredi 26 mai 2004Date d'inscription 14 février 2012 Dernière intervention
- 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

Répondre au sujet
lespinx 96 Messages postés lundi 9 octobre 2006Date d'inscription 24 février 2018 Dernière intervention - 5 nov. 2010 à 19:42
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de lespinx
undertaker4000 11 Messages postés mercredi 26 mai 2004Date d'inscription 14 février 2012 Dernière intervention - 6 nov. 2010 à 06:13
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.