我正在尝试将我的代码中的随机数生成器的状态保存到文件中,然后再将其读回。生成的元组具有以下形式:
tuple(str,ndarray of 624 uints,int,int,float)
返回的元组具有以下项目:
是否有一种简单的方法可以将其写入文件,然后以最初生成的格式将其读回来?
这是我到目前为止所做的:
fx = open('state.dat', 'w')
fx.write(' '.join(str(s) for s in state) + '\n')
fx.close()
这会打印到文件,但我不确定如何将字符串输出转换回原始格式。
非常感谢
赖安
答案 0 :(得分:2)
您可以使用pickle
将任何对象保存为磁盘上的二进制文件:
import numpy
import pickle
RANDOM_STATE_FILE = 'random.bin'
def save_random_state():
with open(RANDOM_STATE_FILE, 'wb') as f:
pickle.dump(numpy.random.RandomState.get_state(), f)
def load_random_state():
with open(RANDOM_STATE_FILE, 'rb') as f:
numpy.random.RandomState.set_state(pickle.load(f))