2015-03-09 32 views
8

Pracowałem nad tym przez wiele godzin i nie mogę tego naprawić, każda pomoc byłaby doceniona! Moje pytanie brzmi: jak korzystać z funkcji .readline(), aby czytać do końca pliku tekstowego? Wiem, że .readlines() działa również, ale próbuję przetwarzać jedną linię na raz.Użyj readline do odczytu pliku txt Python3

Oto co mam do mojego kodu do tej pory:

a = open("SampleTxt.txt","r") 

    While True: 

     a.readline() 

Moim problemem jest to, że mam nieskończoną pętlę, gdy uruchomię to nie powinien on zatrzymany raz nie mógł przeczytać każdy wiersz jeszcze?

Odpowiedz

8

a.readline() powróci '' pusty ciąg, gdy nie ma więcej danych jest dostępny, trzeba sprawdzić, a następnie złamać while, np:

while True: 
    line = a.readline() 
    if not line: 
     break 

Jeśli to nie jest wyłącznie do celów edukacyjnych to naprawdę powinno być stosując with oświadczenie oraz dla pętli przetworzyć plik linia po linii:

with open('SampleTxt.txt') as fin: 
    for line in fin: 
     pass # do something 

To bardziej jasne, jak na swojej intencji, i przy użyciu bloku with , plik fileobj zostanie zwolniony z wyjątkiem lub po zakończeniu bloku.

+0

dziękuję bardzo! – Code971