A (szöveges) állomány megnyitásakor létrejött változó (fileobjektum) .readlines() metódusa egyetlen lépésben listát épít az állomány soraiból (a kimenet áttördelve és megkurtítva):
>>> file= open('inf_e_20050519_m_04_lottosz.dat')
>>> lst = file.readlines()
>>> lst
['37 42 44 61 62\n', '18 42 54 83 89\n', '5 12 31 53 60\n',
'1 28 47 56 70\n', '54 56 57 59 71\n', '7 21 33 39 86\n',
…
'12 28 34 61 70\n', '1 4 8 69 74\n', '4 15 46 49 59\n',
'24 31 67 71 73\n', '12 26 36 46 49\n', '9 20 21 59 68']
Vegyük észre: ebben az évben az utolsó sort nem zárta le \n.
A szöveg típusú változók (stringobjektumok) .strip() metódusa levágja a szélekről a sorvégjelet (és –alapértelmezés szerint– még néhány további karaktert):
>>> file= open('inf_e_20050519_m_04_lottosz.dat')
>>> lst = file.readlines()
>>> for i in range(len(lst)):
... lst[i]= lst[i].strip()
...
>>> lst
['37 42 44 61 62', '18 42 54 83 89', '5 12 31 53 60',
'1 28 47 56 70', '54 56 57 59 71', '7 21 33 39 86',
…
'12 28 34 61 70', '1 4 8 69 74', '4 15 46 49 59',
'24 31 67 71 73', '12 26 36 46 49', '9 20 21 59 68']
Írhatunk azonban rövidebb ciklust, egyúttal megszabadulhatunk az indexek használatától. A következő szerkezet a listán iterálva (új) listát épít az elemekből, és azt adja a listának (új) értékül:
>>> file= open('inf_e_20050519_m_04_lottosz.dat')
>>> lst = file.readlines()
>>> lst = [line.strip() for line in lst]
>>> lst
['37 42 44 61 62', '18 42 54 83 89', '5 12 31 53 60',
'1 28 47 56 70', '54 56 57 59 71', '7 21 33 39 86',
…
'12 28 34 61 70', '1 4 8 69 74', '4 15 46 49 59',
'24 31 67 71 73', '12 26 36 46 49', '9 20 21 59 68']
Vagy tömörebben leírva:
>>> lst= [line.strip() for line in open('inf_e_20050519_m_04_lottosz.dat')]
>>> lst
['37 42 44 61 62', '18 42 54 83 89', '5 12 31 53 60',
'1 28 47 56 70', '54 56 57 59 71', '7 21 33 39 86',
…
'12 28 34 61 70', '1 4 8 69 74', '4 15 46 49 59',
'24 31 67 71 73', '12 26 36 46 49', '9 20 21 59 68']
(Azaz a .readlines() metódus elhagyható.)