2017-06-17 3 views
1

So habe ich gerade einen Programmierkurs in Python gestartet und ich habe diese Zuordnung 'Winddatenanalyse' genannt, in der ich Daten aus einer bin.file extrahieren und in x, y sortieren soll und z-Werte. Bisher habe ich:Extrahieren und Sortieren von Daten aus einer Binärdatei

filename="turb21351_L72u.bin" 
with open(filename,'br') as f: 

buffer = f.read(100000) 
print("Length of buffer is %d" % len(buffer)) 

for i in buffer: 
    print(int(i)) 

der gut arbeitet (beachten Sie, es gibt einige Einbuchtung Fehler am Drehbuch schrieb ich hier) und gibt mir Wert im Bereich von 1 bis 300.

Das Problem der Sortierung wird Daten. Die Beschreibung der Zuweisung klingt wie folgt:

"Die Datendatei besteht aus Nz X Ny X Nx Zahlen (Fließkomma-Einzelpräzision). Die Reihenfolge der Zahlen entspricht den Indizes z, y und x, die alle sequenziell zunehmen von 1 bis Nz, Ny bzw. Nx. Der am schnellsten variierende Index ist z, gefolgt von y, und der am langsamsten variierende Index ist x. Das heißt die ersten Nz-Zahlen aus der Sequenz entsprechen den Indizes z von 1 bis Nz , y = 1 und x = 1. Basierend auf dieser Ordnungsregel muss die Funktion die Daten in ein dreidimensionales Array mit den Dimensionen Nz X Ny X Nx umwandeln.

Meine Frage ist:

Wie wird die assigniment Beschreibung mathmathtically verstanden werden, und wie würde man gehen über sie auf der Grundlage der Ordnungsregel Sortierung?

Antwort

1

können Sie versuchen, mit dem folgenden Code:

filename="turb21351_L72u.bin" 
with open(filename,'br') as f: 
    buffer = f.read(100000) 
print("Length of buffer is %d" % len(buffer)) 

for i in buffer: 
    print(int(i)) 

In Python des with Schlüsselwort verwendet wird, wenn sie mit nicht verwalteten Ressourcen (wie Dateistreams) arbeiten. Die with -Anweisung funktioniert wie eine Blockanweisung, wo sie Einrückung benötigt.

Von Python Docs:

Die with Aussage verdeutlicht Code, der zuvor try...finally Blöcke verwenden würde, dass Clean-up-Code, um sicherzustellen, ausgeführt wird. In diesem Abschnitt werde ich die Anweisung so behandeln, wie sie üblicherweise verwendet wird. Im nächsten Abschnitt werde ich die Implementierungsdetails untersuchen und zeigen, wie Objekte für die Verwendung mit dieser Anweisung geschrieben werden.

Die with Anweisung ist eine Steuerflussstruktur, deren Grundstruktur ist:

with expression [as variable]: 
    with-block 

Der Ausdruck ausgewertet, und es sollte in einem Objekt führt, dass das Kontextmanagement-Protokoll unterstützt (das heißt, hat __enter__() und __exit__() Methoden).

+0

Ich habe versucht, was Sie vorgeschlagen, aber es gibt mir nur eine lange Sequenz von Zahlen. Ich bin daran interessiert, eine Reihe von Zahlen zu erhalten. – Bananas

+0

können Sie den Code teilen, bis Sie es versucht haben? – Jeril

Verwandte Themen