Traitement d'un fichier texte par python
Résolu/Fermé
dino.adnane
Messages postés
11
Date d'inscription
lundi 7 mai 2018
Statut
Membre
Dernière intervention
23 mai 2018
-
Modifié le 23 mai 2018 à 10:31
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 24 mai 2018 à 08:03
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 24 mai 2018 à 08:03
A voir également:
- Extraire données fichier texte python
- Fichier rar - Guide
- Extraire une video youtube - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
1 réponse
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
Modifié le 23 mai 2018 à 10:39
Modifié le 23 mai 2018 à 10:39
Bonjour,
À ce stade ton code est mal indenté, ce qui explique pourquoi il ne marche pas :
Voici ton programme corrigé et légèrement amélioré :
À l'exécution, on a bien le résultat attendu :
Bonne chance
À ce stade ton code est mal indenté, ce qui explique pourquoi il ne marche pas :
(mando@aldur) (~) $ python3 toto.py
File "toto.py", line 13
n = n + 1
^
IndentationError: expected an indented block
Voici ton programme corrigé et légèrement amélioré :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- with open("fichier.txt" , "r") as f: # On split par le caractère $ et on prend pas le premier caractère en considération for f in f.read().split("$"): n = 0 # On split par \n pour prendre ligne par ligne et prend pas le premier ligne D = f.split("\n")[1:] for line in D: # On passe ligne par ligne line = line.strip() if line: # Si la ligne est non vide n = n + 1 print("line = %s" % line)
À l'exécution, on a bien le résultat attendu :
(mando@aldur) (~) $ python3 toto.py
line = 0.111110
line = 0.313569
line = 0
line = 0.004442
line = 0.121211
line = 0.112812
line = 1.222312
line = 0
line = 0.121215
line = 0
line = 0.122311
line = 0.013565
line = 0.004447
line = 0.121211
line = 0.121212
line = 1.222312
line = 0
line = 0.121215
line = 0.121454
line = 0.345456
line = 0
line = 0.078444
Bonne chance
23 mai 2018 à 15:12
24 mai 2018 à 08:03