前提・実現したいこと
プログラミング初心者です。
pythonでバイナリファイルを展開したあと、数値の書式変更を行いたいです。
発生している問題・エラーメッセージ
import struct
cont = open('0000001.dat', 'rb').read()
data = struct.unpack('f'*(len(cont)//4), cont)
print('{:<10}'.format(data))
バイナリファイルを展開したプログラムは上記の通りです。
これを実行すると、
, 0.1923999935388565, 0.13459999859333038, 0.13130000233650208, 0.1282999962568283, 0.15760000050067902, 0.2076999992132187, 0.2378999888896942, 0.24269999563694, 0.23349998891353607, 0.21539999544620514, 0.20709998905658722, 0.18629999458789825, 0.18569999933242798, 0.19999998807907104, 0.18029999732971191, 0.10920000076293945, 0.10939999669790268, 0.10679999738931656, 0.1030999943614006, 0.1030999943614006, 0.11879999935626984, 0.10809999704360962, 0.11729999631643295, 0.11659999936819077, 0.10740000009536743, 0.10659999400377274, 0.09910000115633011, 0.0843999981880188, 0.0729999989271164, 0.08179999887943268, 0.08460000157356262, 0.0997999981045723, 0.12189999967813492, 0.1410999894142151, 0.15479999780654907, 0.1889999955892563, 0.23979999125003815, 0.2459999918937683, 0.2377999871969223, 0.2312999963760376, 0.2393999993801117, 0.23569999635219574, 0.22089999914169312, 0.19189999997
みたいな感じに表示され見にくいので、小数点以下を5桁くらいに調節したいです。
###試した事
print('{:<10}'.format(data))
というコードを、
print('{:.5f}'.format(data))などに変えて実行してみたら
ValueError: Unknown format code 'f' for object of type 'str'
というエラーがでてしまいました。