다른 구조의 값을 가진 1D 배열의 간단한 파일이 있습니다 (첫 번째 항목은 MATLAB uint
이고 두 번째 값은 MATLAB uint
이고 나머지 값은 float
입니다).)Matlab -> Python. 디스크에서 이기종 1D 이진 배열을 읽는 것
이종 배열 유형을 파이썬 파일에서 어떻게 읽을 수 있습니까?
MATLAB의 해당 코드는 다음과 같습니다.
function M = load_float_matrix(fileName)
fid = fopen(fileName);
if fid < 0
error(['Error during opening the file ' fileName]);
end
rows = fread(fid, 1, 'uint');
cols = fread(fid, 1, 'uint');
data = fread(fid, inf, 'float');
M = reshape(data, [cols rows])';
fclose(fid);
end
참고 : this thread 연속 3 개 uint32
값을 읽을 수있는 다음 방법에 대해 설명합니다,
f = open(...)
import array
a = array.array("L") # L is the typecode for uint32
a.fromfile(f, 3)
하지만 내가 어떻게 L은 uint32
의 형태 코드임을 알 수 있습니까? 다른 유형은? (예 : float
).
또한 f
에서 연속적인 값을 어떻게 읽을 수 있습니까? a.fromfile
파일에서 읽기 포인터를 앞으로 이동하겠습니까?
numpy가 종속성을 가지지 않도록하는 이유가없는 한 Google numpy.loadtxt –