W Pythonie, czytam duży plik i chcę dodać każdą linię (po pewnych modyfikacjach) do pustej listy. Chcę to zrobić tylko w pierwszych kilku liniach, tak zrobiłem:Pojedyncza linia z pliku jest zbyt duża?
X = []
for line in range(3):
i = file.readline()
m = str(i)
X.append(m)
Jednak błąd pojawia się, i mówi, że nie jest MemoryError dla linii i = file.readline()
.
Co należy zrobić? Jest tak samo, nawet gdy robię zakres 1 (chociaż nie wiem, jak to wpływa na linię, ponieważ jest w pętli).
Jak uzyskać kod błędu? I'm iterating, i nie mogę uczynić z pliku binarnego, ponieważ plik nie jest po prostu liczbą całkowitą - są liczby dziesiętne i nieliczbowe.
Plik txt to 5 występów.
Wszelkie pomysły?
Jak duży jest ten plik? Ile pamięci jest w twoim komputerze? Jak wygląda linia? – birryree
Nie masz wystarczającej ilości pamięci, aby przeczytać wiersz jako pojedynczy ciąg. Dowiedz się, jak możesz przetwarzać plik w krótkim czasie i nie przechowywać go w pamięci. – Blender
Jakiej konwencji zakończenia linii używa twój plik? Wygląda na to, że otrzymujesz błąd, ponieważ 'readline' nie znajduje oczekiwanego końca linii i nie odczytuje całego pliku w pamięci. – chepner