uint
特定の構造 (最初の項目は MATLAB 、2 番目の値は MATLAB uint
、残りの値はfloat
)を持つ、さまざまな値の型を保持する 1D 配列を持つ単純な小さなファイルがあるとします。
Python のファイルからこのような異種の型の配列を読み取るにはどうすればよいですか?
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
注:このスレッドuint32
では、3 つの連続する値を読み取る次の方法について説明します。
f = open(...)
import array
a = array.array("L") # L is the typecode for uint32
a.fromfile(f, 3)
しかし、 L が のタイプコードであることをどのように知ることができuint32
ますか? 他のタイプはどうですか?(例float
)。
また、から連続した値を読み取るにはどうすればよいf
ですか? a.fromfile
ファイル内の読み取りポインターを前方に移動しますか?