parsage automatique de plusieurs fichiers se trouvant dans un meme dossier

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Henri
Messages : 2
Inscription : 23 avr. 2015, 15:20

parsage automatique de plusieurs fichiers se trouvant dans un meme dossier

Message par Henri »

Salut a tous je suis nouveau ici et j'ai besoin d'aide je suis pas un bon programmeur mais je me debrouille plus dans le developpement des pages Web(Java ) malheuereusement je n'ai pas pu trouver une place de stage dans ce domaine main j'ai pu trouve dans uns autre domaine n'ayant pas d'autre chois j'ai du accepter cela, malheureusement mon maitre de stage n'est pas une Programmeur il est administrateur de Systeme et c'est meme moi qui lui fait decouvrir certain chose en perl. venons en sur mon Probleme:
J'ai pu implementer un perl-script qui parse le fichiers-xml, mais pour cela il me faut alle dans mon editor perl ecrire les noms de tous mes fichiers, malheureusement j#en possede des milliers de fichiers-xml, et j'aimerai que ce code soit a mesure de retrouver tous les fichiers-xml se trouvant dans un dossier et en suite naturement les parser, sans toute fois que je met a taper dans mon editor le nom de milliers de fichiers. c'est cela mon probleme.
, si je n'en possedait que 4 ou 6 j'aurai tapez les noms dans mon editor-perl et j'aurai recu un resultat a l'immediat

en quelque sorte je pourrai resume de la sorte:

1-(Perl-script + Fichiers-XML) sauvegarder dans un dossier sur mon Ordi
2- Perl-script cherche les fichiers-XML se trouvant dans le dossier
3- perl-script traite (parser) les fichiers_xml
4- perl-script me retourne le result du parsage sur un fichier-text

voila mon script :

Code : Tout sélectionner

use strict;
use warnings;
use XML::Twig;
use File::Find;

my $file1 = shift or die 'No file1'; 
my @files = @ARGV or die 'No files';

my $FileResult = 'result.csv';
open( my $FhResult, '>', $FileResult )or die ("Unable to open file $FileResult\n$!");
my $twig1= XML::Twig->new(    
        twig_handlers => {    
                'Parameter' => sub { 
                        
                        my $attr_name = $_->{'att'}->{'name'} // 'fault'; 
                        print $FhResult $attr_name . ",";
                },
        },
);

print $FhResult( (split('_', $file1,2))[0] . ',' ); 
$twig1->parsefile($file1);

for my $file (@files) {
    my $twig2 = XML::Twig->new(
        twig_handlers => {
            'Parameter' => sub {
                my $attr_value = $_->{'att'}->{'value'} // 'fault';
                print $FhResult $attr_value . ",";
            },
        },
    );

    print $FhResult ( split( '_', "\n$file", 2 ) )[0] . ',';

    $twig2->parsefile($file);
}

close $FhResult;
comme vous le constaterez la pour plus de clarter le la variable twig 1 parse les attributs name du permier fichier , et la variable twig2 parser le reste de fichier d'apres l'attribut values. j'aimerai bien pouvoir taper sur mon editorperl le genre C: perl sript.pl *.xml et obtenir un resultat. Merci bien de votre aide.
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: parsage automatique de plusieurs fichiers se trouvant dans un meme dossier

Message par patrice »

Bonjour
Comme tu l'as sans doute remarqué , ici il s 'agit de parler de domotique et non pas de faire des TP info

Je t' encourage donc a :
Bosser un peu la doc des langages
Chercher sur le net
Faire un effort d' orthographe
Ces 3 points ne s' excluant mutuellement pas

Allez au boulot !!
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Henri
Messages : 2
Inscription : 23 avr. 2015, 15:20

Re: parsage automatique de plusieurs fichiers se trouvant dans un meme dossier

Message par Henri »

Merci bien de la remarque Patric,
et comme tu le vois je me suis deja donne un effort j'ai pu ecire ce code qui fait deja le boulot , mais a la seul difference que je suis coince car je ne peu pas continue, si je le pouvais je ne me serai pas enregistre ici. personne ici ne m'offre un TP, mais j'apporte ce que je possede et j'essaye de voir si quelqu'un peut me venir en aide.
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: parsage automatique de plusieurs fichiers se trouvant dans un meme dossier

Message par patrice »

Essaye plutot les forum de openclassroom, de stackoverflow
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Répondre