Existe-t-il une ligne pour lire toutes les lignes d'un fichier en Python, plutôt que la norme:
f = open('x.txt')
cts = f.read()
f.close()
On dirait que cela se fait si souvent qu'il doit y avoir un one-liner. Des idées?
Existe-t-il une ligne pour lire toutes les lignes d'un fichier en Python, plutôt que la norme:
f = open('x.txt')
cts = f.read()
f.close()
On dirait que cela se fait si souvent qu'il doit y avoir un one-liner. Des idées?
f = open('x.txt').read()
si vous ne voulez qu'une seule chaîne, ou
f = open('x.txt').readlines()
si vous voulez une liste de lignes. À la fois ne garantit pas que le fichier est immédiatement fermé (dans la pratique, il sera immédiatement fermé dans le courant Disponible, mais fermé "seulement lorsque le garbage collector est à elle" en Jython, IronPython, et probablement une version future de Disponible).
Un plus solide approche (2.6+, ou 2,5 avec un from __future__ import with_statement
) est
with open('x.txt') as x: f = x.read()
ou
with open('x.txt') as x: f = x.readlines()
Cette variante N'garantir la fermeture immédiate du fichier à droite après la lecture.
Si vous êtes sur Python3, assurez-vous de respecter le codage d'entrée de votre fichier, par exemple:
import codecs
with codecs.open(filename, 'r', encoding="utf8") as file:
cts = file.read()
Recherchez la liste des noms de codec dans la liste de codecs Python3 . (Le mécanisme est également recommandé pour Python2 lorsque vous attendez une entrée non-ASCII.)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.