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

Langage Perl Discussion :

création de nouveaux fichiers dans un nouveau répertoire


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut création de nouveaux fichiers dans un nouveau répertoire
    Bonjour,
    je souhaiterai à partir d'une liste de fichier contenus dans un répertoire, extraire une certaine information de chacun de ces dossiers et créer un nouveau répertoire qui contiendrai l'ensemble des nouveaux fichiers et de leur nouveau contenu.
    Je pensais créer un tableau contenant l'ensemble des fichiers grâce à la fonction glob, puis créer le répertoire et enfin ouvrir en écriture pour chaque dossier du tableau le fichier correspondant qui contiendrait autant de fichiers qu'au départ mais ne contenant que l'information extraite de fichier de départ.
    J'ai appelé mon fichier à lire $mono et je voulais créer en écriture le fichier de nom $line$mono, mais ça ne marche pas il me met comme message
    print <> on closed filehandle OUTPUTat c:...

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Eh bien, montre nous donc un peu ton code, qu'on le décortique dans tous les sens afin de t'aider

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut
    #!/usr/bin/perl -w
    use strict;
    my $rub;
    my $mono;
    my @rub=qw/ ind posmad ci megpe interact groall ei surdo propha /;
    my @mono= glob "Monographies/Toutes_les_Monos/*.xml";
    foreach $rub(@rub){
    my $rep="$rub";
    mkdir ($rep, 0777);
    foreach $mono(@mono){
    open (INPUT, "<$mono");
    open (OUTPUT, ">$rep/$rub$mono") ;
    while (<INPUT>){
    if ($_=~/<$rub>(.+)<\/$rub>/){
    print OUTPUT "$1";
    }
    }
    }
    close OUTPUT;
    close INPUT;
    }

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut
    le problème vient de ce que je veuille nommer mon fichier en écriture en utilisant le nom du fichier de départ

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Tout d'abord : On ne poste pas dans ce forum, on poste dans les sous-forums, comme c'est clairement indiqué en haut de ce forum... Ton prochain message ici sera supprimé sans avertissement (à part un MP), pour celui-ci je me contente de le déplacer dans le sous-forum Langage.

    Ensuite, mets ton code entre balise [ CODE ] (avec le bouton # de l'interface d'édition du forum), c'est illisible sinon.

    Finalement, c'est une très mauvaise idée de faire des appels systèmes comme mkdir() ou open() sans vérifier le résultat, idiomatiquement on utilise "or die" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mkdir ($rep, 0777)
      or die "Couldn't create directory $rep : $!\n";
    --
    Jedaï

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut
    Merci pour ces précieux conseils, ça marche tout de suite mieux avec la fonction or die.
    Mon problème est résolu !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/09/2011, 11h49
  2. Réponses: 7
    Dernier message: 12/09/2006, 14h22
  3. Recherche de fichiers dans des sous répertoires
    Par Mimi Bulles dans le forum Langage
    Réponses: 8
    Dernier message: 25/04/2006, 16h41
  4. Réponses: 3
    Dernier message: 12/04/2006, 20h44
  5. Déplacer un fichier dans un autre répertoire
    Par t_om84 dans le forum Général Python
    Réponses: 2
    Dernier message: 16/05/2005, 09h36

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