如何在python中保存double文件?

hah*_*aha 3 python double numbers file

假设我需要保存一个矩阵(每行对应一行),以后可以从fortran加载.我应该选择哪种方法?将所有内容转换为字符串是唯一的方法吗?

fvi*_*tor 6

您也可以将它们保存为二进制格式.请参阅struct标准模块上的文档,它具有pack将Python对象转换为二进制数据的功能.

例如:

import struct

value = 3.141592654
data = struct.pack('d', value)
open('file.ext', 'wb').write(data)
Run Code Online (Sandbox Code Playgroud)

您可以转换矩阵的每个元素并写入文件.Fortran应该能够加载该二进制数据.您可以通过整行转换行来加快进程,如下所示:

row_data = struct.pack('d' * len(matrix_row), *matrix_row)
Run Code Online (Sandbox Code Playgroud)

请注意,这'd' * len(matrix_row)是矩阵大小的常量,因此您只需要计算一次该格式字符串.