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 :

nombre de lignes dans un fichier texte


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut nombre de lignes dans un fichier texte
    Bonjour,

    je débute en python. Je m'appuie donc sur des lignes de commande trouvées sur votre forum ou dans des cours en ligne.
    Bref, j'ai crée un petit fichier de 6 lignes et 115 caracteres.

    Voici ce que j'ai écrit dans PyPE

    #path
    import os
    import readline

    os.chdir ('/home/papa/Bureau/initiation_python')
    contenu = ()

    #Lecture fichier
    with open ('fichier_type.txt', 'r') as mon_fichier :
    contenu = mon_fichier.read ()
    print (contenu)

    mon_fichier.close ()


    #nombre de lignes dans le fichier
    n=0

    for truc in contenu:
    n = n + 1
    print (n)


    OR contrairement à ce que j'ai trouvé sur votre forum, (n) contient le nombre de caractères et non le nombre de lignes d'une part et d'autre part ça fonctionne en mettant n'importe quoi derrière for (truc par exemple).

    Je n'arrive pas à trouver mon erreur.

    Merci d'avance pour l'aide.

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Pour que le code Python soit lisible avec les indentations, il faut le placer dans les tags de code: cliquer sur le '#' en haut de la fenêtre d'édition.

    Sinon, le "mon_fichier.read()" lit TOUT le fichier et renvoie une seule chaine de caractères. Les lignes sont dedans, séparées par les fins de ligne. C'est donc normal que la boucle "for truc in contenu:" renvoie en fait tous les caractères du fichier.

    Si on veut une liste de lignes, on peut utiliser "mon_fichier.readlines().

    A noter qu'avec "with open(...):", il n'est pas nécessaire de fermer le fichier: la sortie du bloc le fait automatiquement.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut
    merci pour l'aide

    j'ai compris.

    Je pense que j'aurai à nouveau besoin d'aide.

    Bon WE

    francois

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Le problème est sur la fin, on a une chaine de caractères (str) avec le contenu du fichier. On pourrait obtenir le résultat par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    contenu=fichier.read()#je résume un peu le code
    #et là on fait un split '\n' (soit saut de ligne)
    contenu=contenu.split('\n')#soit une liste des lignes
    nb_lignes=len(contenu)
    Tout simplement.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Citation Envoyé par stalacta Voir le message
    Le problème est sur la fin, on a une chaine de caractères (str) avec le contenu du fichier. On pourrait obtenir le résultat par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    contenu=fichier.read()#je résume un peu le code
    #et là on fait un split '\n' (soit saut de ligne)
    contenu=contenu.split('\n')#soit une liste des lignes
    nb_lignes=len(contenu)
    Tout simplement.
    .splitlines et .readlines ont l'avantage d'etre independant de l'OS.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Ca a juste l'avantage de ne pas importer de module.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Citation Envoyé par stalacta Voir le message
    Ca a juste l'avantage de ne pas importer de module.
    De quels modules parlez vous?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Compter le nombre de ligne dans un fichier text
    Par nekcorp dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/06/2018, 14h10
  2. Calcul du nombre de lignes dans un fichier texte en JavaScript
    Par developppez dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/08/2017, 08h13
  3. [VBS] Fonction qui compte le nombre de lignes dans un fichier texte
    Par ProgElecT dans le forum Vos Contributions VBScript
    Réponses: 0
    Dernier message: 03/05/2012, 13h48
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

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