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

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

Votre réponse

2 réponses

Meilleure réponse
Messages postés
96
Date d'inscription
lundi 9 octobre 2006
Dernière intervention
24 février 2018
- 5 nov. 2010 à 19:42
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

Merci lespinx 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de lespinx
Messages postés
11
Date d'inscription
mercredi 26 mai 2004
Dernière intervention
14 février 2012
- 6 nov. 2010 à 06:13
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

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.