2017-08-16 6 views
2

Je veux lire ligne par ligne un fichier txt et l'enregistrer dans une liste, ma version python est 2.5, mais j'ai une erreur de syntaxe, pouvez-vous m'aider? Mon code est le suivant:Lire un fichier txt en python 2.5

with open("test.txt") as f: 
    content = f.read().splitlines() 
+0

http://faculty.salina.k-state.edu/tim/NPstudy_guide/python/pyio.html – kd88

+0

Parcourez [7.2. Lecture et écriture de fichiers] (https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files) du didacticiel, pratique les exemples. Cela devrait aider. – wwii

Répondre

4

gestionnaires de contexte ont été introduits en Python 2.6 (PEP 343). En Python 2.5, vous devez faire:

f = open("test.txt") 
content = f.read().splitlines() 
f.close() 

le principal inconvénient est que vous devez vous rappeler de fermer le fichier

une autre possibilité (peut-être même mieux) est d'utiliser __future__ (en font la première ligne votre script):

from __future__ import with_statement 

alors vous êtes bon d'utiliser with en python 2.5

+1

'with' fait officiellement partie de Python 2.6, vous devez l'importer de \ _ \ _ future \ _ \ _ avant d'utiliser contextlib dans Python 2.5. – digitaLink

+0

@digitaLink c'est vrai! Merci d'avoir fait remarquer cela. Édité. –