IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Python 2.6 : mkdir() et makedirs() ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 211
    Billets dans le blog
    1
    Par défaut Python 2.6 : mkdir() et makedirs() ?
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    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+

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Je pense que c'est une erreur de frappe:
    os.mkdir(rep_cour + i)
    devrait marcher.

    pour makedirs, d'après la doc, si tu demandes à créer /a/b/c et que seul /a existe, il créera /a/b/ et /a/b/c

  3. #3
    Membre très actif

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 211
    Billets dans le blog
    1
    Par défaut
    Merci fructidor,

    Je dois me faire vieux de ne pas avoir vu cette erreur visible comme le nez au milieu de la figure !

    Maintenant, ça marche bien.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [langage] traduction d'un fonction python en perl
    Par ay_pepito dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2007, 15h06
  2. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  3. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 14h51
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo