में एक outputted fortran द्विआधारी NxNxN मैट्रिक्स को पढ़ने के लिए मैं फोरट्रान में एक मैट्रिक्स बाहर लिखा था इस प्रकार है:कैसे अजगर
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)
मैं इस अजगर में वापस पढ़ना चाहते हैं। मैंने जो कुछ भी देखा है वह 2 डी एनएक्सएन सरणी के लिए 3 डी सरणी नहीं है। मैटलैब में मैं इसे पढ़ सकते हैं के रूप में:
fid = fopen(nfilename,'rb');
mesh_raw = fread(fid,ndim*ndim*ndim,'double');
fclose(fid);
mesh_reshape = reshape(mesh_raw,[ndim ndim ndim]);
मैं सिर्फ अजगर में बराबर की जरूरत है - शायद वहाँ एक समान भार है/उपकरण उपलब्ध नयी आकृति प्रदान। यदि पाइथन को समझने के लिए इसे लिखने के लिए एक और अधिक अनुकूल कॉम्पैक्ट तरीका है, तो मैं सुझावों के लिए खुला हूं। यह शायद कुछ this देखेंगे:। मैं अपने मामले के बराबर वाक्यविन्यास से अपरिचित हूं। एक अच्छा संदर्भ पर्याप्त होगा। धन्यवाद।
struct.unpack जाने का तरीका लगता है लेकिन मुझे यकीन नहीं है कि मेरे मामले के लिए क्या करना है। – Griff
[इनमें से कोई भी तरीका scipy/numpy का उपयोग कर] [http://www.scipy.org/Cookbook/InputOutput#head-b0de67a6dbb3b1ba2584c65263552dc519225cb1) आपकी मदद करता है? –
आपको यहां समाधान मिलेगा: http://stackoverflow.com/questions/10475839/reading-a-direct-access-fortran-unformatted-file-in-python – milancurcic