Hallo zusammen
Danke für die neuen Inputs, werde diese morgen mal zu Gemüte führen.
@Sirius: Erster Code mit numpy braucht sehr lange zum Lesen. Zweiter Code mit "liste" benötigt _nur_ 2.2 Sekunden!
@DeaD_EyE: Mir ist noch in den Sinn gekommen, dass andere Dateien die vielleicht später kommen nicht mehr die selben Zeilenlängen haben, weswegen ich wieder zu "alles" einlesen tendiere (Kompatibilität).
Die Dateien selber ändern nie, was ändert ist welche Datei ich lesen muss. Im Moment sind es 30 Dateien, wobei in der Regel meist nur 3-4 aktiv genutzt werden, die anderen liegen brach und werden logischerweise nicht geladen.
Zeitlich ist Dein Lösungsvorschlag natürlich der Hammer wenige ms.
Eine Dateizeile sieht z.B. so aus (X,Y,Z): 2624000.25 1133999.75 1121.99. Das X/Y Raster ist konstat mit 0.25;
Code: Alles auswählen
from time import time
import numpy as np
t1 = time()
y = np.loadtxt('test.txt')
t2 = time()
print('Zeit: ',t2-t1)
print(y[0])
Code: Alles auswählen
#Output:
Zeit: 102.8839020729065
[2.62400025e+06 1.13399975e+06 1.12199000e+03]
Code: Alles auswählen
t1 = time()
datei = open('test.txt','r')
liste = []
for zeile in datei:
liste.append(zeile.rstrip('\n\r'))
t2 = time()
print('Zeit: ',t2-t1)
print(liste[3999999])
datei.close()