如何将 Numpy 数组保存到多个现有子目录中?

How to save a Numpy array into multiple existing subdirectories?

我有一个多维 numpy 数组 arr1,我想将其保存为 .npy 格式的二进制文件。

import numpy as np
import os

current_dir_path = "/Users/.../desktop"

os.chdir(current_dir_path)    # changed to "desktop" subdirectory

filename = "my_array.npy"     # create name for numpy array file

np.save(filename, arr1)       # save the numpy array arr1 with filename my_array.npy

我有多个子目录,我想在其中保存此文件,例如"public"、"desktop"、"downloads" 等

问题1:如何用这个脚本将这个文件保存到多个子目录中?我认为使用 os.chdir() 没有意义。

问题 2:如果有一个 "error"(例如,我为一个子目录设置了错误的路径,它会继续运行而不是抛出错误并且不与其他子目录一起工作,我该怎么做?)

像这样的东西应该可以工作(抱歉我没有测试过):

base_path = "/Users/.../"
directories = ['desktop','public','downloads']

for directory in directories:
    filename = os.path.join(base_path,directory,"my_array.npy")
    np.save(filename, arr1)

并回答你的第二个问题,附在 'try..except'

for directory in directories:
    try:
        filename = os.path.join(base_path,directory,"my_array.npy")
        np.save(filename, arr1)
    except:
        print('Error writing to: {0} directory'.format(directory))
  1. 可以在调用 np.save 时将路径名添加到文件名前面,从而无需调用 os.chdir:

    np.save(current_dir_path +'/'+filename, arr1)

    np.save(second_dir_path+'/'+filename,arr1)

  2. 每次保存都可以在 try-except 中进行,以便捕获引发的错误:

    try: np.save(...) except Exception as e: print('Trouble saving array'+str(e))

如果此保存失败,则会打印消息并继续执行