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

Prolog Discussion :

Lire fichiers avec GNU PROLG


Sujet :

Prolog

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Lire fichiers avec GNU PROLG
    Boujour,
    J ai été formé et utilisé le PROLOG il y a environ 20 ans. Pour traiter des données de type "mots" je viens de me remettre à PROLOG. Mon environnement est PC sous XP et GNU PROLOG. Mes prédicats (certes simples) fonctionnent. Souhaitant traiter des données provenant d'un fichier j'ai cherché à l'aide du manuel en ligne. Après de multiples essais je ne parviens pas à lire les données d'un fichier. J'ai donc décidé de tester les prédicats un par un. Le code suivant me renvoi une erreur (dans un fichir .pl que je "consult":

    go:-see('c:\fichier.txt'),seen.

    | ?- go.
    uncaught exception: error(permission_error(open,source_sink,'c:\fichier.txt'),see/1)
    | ?-


    Si quelqu'un peut m'expliquer comment ouvrir puis lire le contenu d'un fichier en GNU PROLOG merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Bonjour
    Je ne connais pas GNU-Prolog mais voici un code qui permet de lire un fichier txt et d'obtenir un atom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    test :-
    	open('C:/fichier.txt', read, In),
    	my_read(In, U-U, Text), 
    	close(In),
    	write(Text), nl.
     
    my_read(In, U, Text) :-
    	get_char(In, Ch),
    	(Ch \= end_of_file ->  append_dl(U, [Ch|Y]-Y, V), my_read(In, V, Text)
    	;	U = Lst-[], atom_chars(Text, Lst)).
     
    append_dl(X-Y, Y-Z, X-Z).
    Il existe peut-être des modules tout faits pour la lecture des fichiers texte, je ne sais pas
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci de cet exemple je vais tester. Entre temps j'ai téléchargé SWI PROLG car il me semble qu'il y a plus de ressources didactiques sur le WEB pour cette version de Prolog.

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Oui, je pense que la communauté est plus grande, et je connais mieux SWI-Prolog
    Pour lire les fichiers textes, il y a un module read_util je crois
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  5. #5
    Futur Membre du Club
    Homme Profil pro
    genie logiciel
    Inscrit en
    Février 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : genie logiciel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    ou se termine ce code juste pour lire un fichier txt ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    test :-
    	open('C:/fichier.txt', read, In),
    	my_read(In, U-U, Text), 
    	close(In),
    	write(Text), nl.
     
    my_read(In, U, Text) :-
    	get_char(In, Ch),
    	(Ch \= end_of_file ->  append_dl(U, [Ch|Y]-Y, V), my_read(In, V, Text)
    	;	U = Lst-[], atom_chars(Text, Lst)).
     
    append_dl(X-Y, Y-Z, X-Z).

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    D'après vous ?
    Quelle idée de ressusciter cette discussion vieille de 5 ans !
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

Discussions similaires

  1. Lire fichier avec séparateur
    Par CliffeCSTL dans le forum Débuter
    Réponses: 4
    Dernier message: 03/08/2012, 15h51
  2. lire fichier avec caractères spéciaux
    Par expertax dans le forum Linux
    Réponses: 1
    Dernier message: 25/05/2011, 12h01
  3. Lire fichier avec XML
    Par mimish dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 21/04/2010, 10h39
  4. lire fichier avec plus de 65536lignes
    Par Timar dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/09/2009, 18h00
  5. lire fichier avec l'extension .c ou .h en c
    Par lolomesnil dans le forum C
    Réponses: 1
    Dernier message: 13/04/2007, 10h18

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