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 :

Aide Debutant, lecture fichier texte


Sujet :

Python

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 16
    Points
    16
    Par défaut Aide Debutant, lecture fichier texte
    Bonjour tout le monde,

    j'essaie d'ecrire un script pour lire un fichier txt en ligne commande du genre :

    $ python lire.py <fichier.txt>

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Pour lire un fichier texte sur disque, regarde du côté de "open()" et "readline()" qui sont des fonctions de base de Python (sans importation de module).

    Pour lire un argument passé au lancement du programme, regarde du côté du module sys: sys.argv donne la liste des paramètres passés.

    Je te suggère de consulter la documentation du site, et particulièrement: http://python.developpez.com/cours/TutoSwinnen/ qui t'apportera les bases.

    Reviens si tu n'as pas trouvé.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    j'ai essaye ceci mais cela ne marche pas!


    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
     mport sys
     
     
     
    if sys.argv[1:]:
        file = sys.argv[1]
    else:
        sys.exit('python readFile < file >')
     
     
    def readfile(file):
        d = open(file,"r")
        data= f.read()
        d.close()  
        return data

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Quelques corrections:

    - manque le "i" de import sys (c'est probablement une erreur de copier-coller)

    - ce n'est pas une bonne idée de nommer une fonction avec un nom de fonction python (readfile => lirefichier par exemple)

    - tu ouvres le fichier avec d, mais tu essaies de le lire avec f?

    - il faut, bien sûr, appeler ta fonction readfile (à renommer) pour obtenir le résultat.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    import sys
     
     
    if sys.argv[1:]:
        file = sys.argv[1]
    else:
        sys.exit('python readfile < file >')
     
    def readfile(file):
        d = open(file,"r")
        data= d.read()
        d.close()  
        return data
    Oui mais cela ne change rien
    >python readfile.py fichier.txt ne marche pas

  6. #6
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Si ça marche (je viens d'essayer), à condition d'appliquer toutes les modifs que je t'ai données:

    - remplace le nom de la fonction "readfile" par "lirefichier" (par exemple)

    - ajoute à la fin un appel à ta fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print lirefichier(file)
    Si tu es en console, j'imagine que tu te trouves bien dans le répertoire dans lequel il y a en même temps ton programme et le fichier à lire. Sinon, il faut ajouter les chemins d'accès.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

Discussions similaires

  1. lecture fichier texte et ...
    Par Nils30 dans le forum Langage
    Réponses: 5
    Dernier message: 12/01/2006, 11h55
  2. lecture fichier text et renvoi du contenu en byte *
    Par JulienT dans le forum Réseau
    Réponses: 3
    Dernier message: 02/01/2006, 13h21
  3. [C++] Menu d'aide: ouvrir un fichier texte
    Par debutanteVB.NET dans le forum C++
    Réponses: 11
    Dernier message: 15/12/2005, 23h12
  4. Lecture fichier text
    Par krfa1 dans le forum ASP
    Réponses: 13
    Dernier message: 25/11/2005, 08h00
  5. [debutant]lecture fichier ligne par ligne
    Par Battosaiii dans le forum C
    Réponses: 2
    Dernier message: 13/11/2005, 19h02

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