操作系统路径连接中的格式说明符

时间:2021-01-08 01:43:51

标签: python

我正在尝试评估此 ML project 的结果,其中奖励保存到 .pkl 文件中,然后进行操作。 这需要reward_logs变量并成功创建一个.pkl文件:

with open(os.path.join(data_dir, 'reward_logs.pkl'), 'wb') as f:
  pickle.dump(reward_logs, f, pickle.HIGHEST_PROTOCOL)

但是,reward_logs 在最后读取格式说明符,读取不存在的文件,例如第一次迭代:reward_logs.pkl.0

R = np.zeros((6, len(tutor_builders), n_eps, n_reps))
for i in range(6):
  with open(os.path.join(data_dir, 'reward_logs.pkl.%d' % i), 'rb') as f:
    reward_logs = pickle.load(f)
    R[i] = reward_logs['rewards']
    print(reward_logs['env_names'], reward_logs['reward_funcs'])

它在 FileNotFoundError: [Errno 2] No such file or directory: '.\\data\\reward_logs.pkl.0' 处按预期出错

格式说明符的目的是什么?我在 os.path.join 函数中找不到与使用格式说明符相关的任何内容。代码已经有 4 年了,所以我想知道是否有什么改变,如果有,我应该如何重写这个循环?

0 个答案:

没有答案