2020年10月9日金曜日

in Python,write numpy data to binary file and read in kotlin. Pythonでnumpyデータをバイナリファイルに書き込み、kotlinで読み取りする

 中の人です。もうブログのタイトルと作業の内容の乖離が激しくなっています。

PythonでNumpyのFloat arrayをファイルに書き出して
Kotlinで読みだす方法です。
需要の程は知らないが私には必要だったのだ。
簡単な検証しかしていないけどね。

Python

import numpy as np
test0=[0.1,1.0,10.0]
test1=np.array(test0) #Float
with open('test1.dat','wb') as f:
  f.write(test1)

Kotlin

import java.io.File
import java.nio.ByteBuffer
import java.nio.ByteOrder

fun main(){
    val p = System.getProperty("user.dir")
    var f = File(  "src/test1.dat")
    var ba = f.readBytes()
    var bb = ByteBuffer.wrap(ba)
    bb.order(ByteOrder.LITTLE_ENDIAN);

    var fa1 = bb.getDouble()  //Not Float
    var fa2 = bb.getDouble()
    var fa3 = bb.getDouble()

    print(fa1)
    print(fa2)
    print(fa3)
}

0 件のコメント:

コメントを投稿