Ich schrieb eine Matrix in Fortran wie folgt:wie eine ausgegebene Fortran binäre NxNxN Matrix in Python lesen
real(kind=kind(0.0d0)), dimension(256,256,256) :: dense
[...CALCULATION...]
inquire(iolength=reclen)dense
open(unit=8,file=fname,&
form='unformatted',access='direct',recl=reclen)
write(unit=8,rec=1)dense(:,:,:)
close(unit=8)
ich diese wieder in Python lesen möchten. Alles, was ich gesehen habe, ist für 2D-NxN-Arrays und nicht für 3D-Arrays. In Matlab kann ich es lesen, wie:
fid = fopen(nfilename,'rb');
mesh_raw = fread(fid,ndim*ndim*ndim,'double');
fclose(fid);
mesh_reshape = reshape(mesh_raw,[ndim ndim ndim]);
ich das Äquivalent in Python nur müssen - vermutlich gibt es eine ähnliche Last/umformen Werkzeug zur Verfügung. Wenn es eine freundlichere, kompaktere Möglichkeit gibt, es für Python zu schreiben, bin ich offen für Vorschläge. Es wird vermutlich etwas aussehen this:. Ich bin nur nicht mit der entsprechenden Syntax für meinen Fall vertraut. Eine gute Referenz würde ausreichen. Vielen Dank.
struct.unpack scheint der Weg zu gehen, aber ich bin mir nicht sicher, was ich für meinen Fall tun soll. – Griff
Machen Sie eine der [Methoden mit scipy/numpy] (http://www.scipy.org/Cookbook/InputOutput#head-b0de67a6dbb3b1ba2584c65263552dc519225cb1) Ihnen helfen? –
Sie finden die Lösung hier: http://stackoverflow.com/questions/10475839/reading-a-direct-access-fortran-unformatatted-file-in-python – milancurcic