Exemple de comment lire un simple fichier texte en python:
Lire un fichier texte
Soit par exemple le fichier suivante iso_8859-1.txt. Pour lire ce fichier on peut alors faire comme ceci:
f = open('iso_8859-1.txt', 'r')
f.closed
Lire l'ensemble du fichier
Si on veut lire l'ensemble du fichier il suffit d'ajouter la commande f.read():
f = open('iso_8859-1.txt', 'r')
data = f.read()
f.close
et on peut ensuite afficher son contenu:
print(data)
donne
The following are the graphical (non-control) characters defined by
ISO 8859-1 (1987). Descriptions in words aren't all that helpful,
but they're the best we can do in text. A graphics file illustrating
the character set should be available from the same archive as this
file.
Hex Description Hex Description
20 SPACE
21 EXCLAMATION MARK A1 INVERTED EXCLAMATION MARK
22 QUOTATION MARK A2 CENT SIGN
...
...
...
...
Afficher les lignes et les indices
On peut alors parcourir le contenu ligne par ligne en utilisant splitlines():
lines = data.splitlines()
for idx,line in enumerate(lines):
print(idx,line)
donne
0 The following are the graphical (non-control) characters defined by
1 ISO 8859-1 (1987). Descriptions in words aren't all that helpful,
2 but they're the best we can do in text. A graphics file illustrating
3 the character set should be available from the same archive as this
4 file.
5
6 Hex Description Hex Description
7
8 20 SPACE
9 21 EXCLAMATION MARK A1 INVERTED EXCLAMATION MARK
10 22 QUOTATION MARK A2 CENT SIGN
11 23 NUMBER SIGN A3 POUND SIGN
...
...
...
...
Lire le fichier ligne par ligne
Autre approche en utilisant "readline()":
print( 'line 1: ', f.readline() )
print( 'line 2: ', f.readline() )
print( 'line 3: ', f.readline() )
Note: chaque fois que vous faites appelle à "readline()" il passe à la ligne suivante. Pour revenir au début du fichier vous pouvez alors utiliser la "method": "seek()" comme ceci:
f.seek(0)
Pour terminer, pour obtenir le nombre de lignes du fichier et en affichant en même temps ligne par ligne le contenu de celui-ci, on peut écrire une simple boucle "for":
NumberOfLine = 0
for line in f:
print( line )
NumberOfLine += 1
Lire un fichier de données
Pour lire un fichier de données il existe plusieurs possibilités:
- Comment lire un fichier contenant un tableau de données en python ?
- Comment lire un fichier de données csv en python avec pandas ?
- Comment lire un fichier microsoft excel avec python ?
- Comment lire un fichier JSON avec python ?
Références
Links | Site |
---|---|
Page sur le site de python: "Input and Output" | python doc |
How to get line count cheaply in Python? | stackoverflow |
C'est quoi le ascii ? | wikipedia |