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 :

Ouverture d'un repertoire ok et lecture fichiers impossible


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Points : 34
    Points
    34
    Par défaut Ouverture d'un repertoire ok et lecture fichiers impossible
    Bonsoir

    J'arrive à parcourir tous les fichiers qui se trouvent dans mon rep mais si j'essaie de les lire j'ai l'rreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Directory:Outfichier:CO_0G.txtFile CO_0G.txt Erreur E/S : Invalid argument
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    sub DoDir 
    {
      my( $sdir) = @_;
      print "Directory:$sdir";
      opendir(SDIR, $sdir) || die "Unable to open directory $sdir :$!";
      my(@sfiles) = grep {!/^\.\.?$/ } readdir(SDIR);
      closedir(SDIR);
      foreach (@sfiles) 
      {
      		if (-d ($ssubdir = "$sdir\\$_"))
      		 {
       			 $dsubdir = $ddir . substr($ssubdir, length($sdir));    
             	 &DoDir($ssubdir);
      		} 
      		else 
      		{
        		print "fichier:$_";    		
       			open(FILE_DATA, " < CO_0G.txt") || die "File Out/$_ Erreur E/S : $!\n";
        		open(FILE_DATA_RANDOM, "> OutRandom/RANDOM_$fichier") || die "File OutRandom/RANDOM_$fichier Erreur E/S : $!\n";
        		while ($ligne=<FILE_DATA>)
        		 {
            		@tab = split('\t',$ligne);
            		print @tab ;
            		$risque = $tab[11];
            		print $risque;
            		$tab[11]=$tab[11]*rand(10)*0,1+$tab[11];
            		print FILE_DATA_RANDOM @tab,"\n";
            	}
            	close FILE_DATA;
            	close FILE_DATA_RANDOM;
      		}
     
      	#print "Fin dir:$sdir";
      }
    }

  2. #2
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    C'est assez simple, tu récupères le nom du fichier mais tu ouvres CO_OG.txt à chaque fois...

    Code perl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    print "fichier:$_";    		
    open(FILE_DATA, " < CO_0G.txt") || die "File Out/$_ Erreur E/S : $!\n";

    à remplacer par

    Code perl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    open(FILE_DATA, '<', $_) || die "File Out/$_ Erreur E/S : $!\n";

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par MarneusCalgarXP
    C'est assez simple, tu récupères le nom du fichier mais tu ouvres CO_OG.txt à chaque fois...

    Code perl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    print "fichier:$_";    		
    open(FILE_DATA, " < CO_0G.txt") || die "File Out/$_ Erreur E/S : $!\n";

    à remplacer par

    Code perl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    open(FILE_DATA, '<', $_) || die "File Out/$_ Erreur E/S : $!\n";
    En fait je m'étais trompé c'est que dans mon appel je devais ajouté le nom du dossier avant $_ comme je passe par une fonction.

  4. #4
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    Ok.

    Ps: il ne faut pas modifier le titre du message en rajoutant résolu devant, il suffit de cliquer sur le bouton

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

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

Discussions similaires

  1. [OCAML] ouverture/lecture fichier
    Par ManusDei dans le forum Caml
    Réponses: 7
    Dernier message: 04/07/2011, 14h27
  2. Ouverture, lecture fichier word
    Par Z4ng3tsu dans le forum C#
    Réponses: 1
    Dernier message: 09/04/2010, 11h52
  3. [LG]probleme lecture fichier
    Par yp036871 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2004, 19h22
  4. [LG]Probleme lecture fichier file of ....
    Par John_win dans le forum Langage
    Réponses: 11
    Dernier message: 11/11/2003, 18h53
  5. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 11h08

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