如何在Python中使用np.save将文件保存到不同目录?

8
我希望将训练结果保存在名为Check的不同文件夹中。如何使用np.save命令进行保存?我在文档中阅读了关于np.save命令的信息,但其中并未说明如何将其保存在不同的目录中。
sample = np.arange(100).reshape(10,10)
split = 0.7
index = int(floor(len(sample)*split))
training = sample[:index]
np.save("Check"+'train_set.npy',training)

<!>注意,您绝对路径中的任何目录必须已经存在,.save() 不会创建缺失的目录。 - Kermit
1个回答

9
这段内容是关于IT技术的翻译:

来自(DOCS):

file : file, str, or pathlib.Path

文件或文件名,用于保存数据。如果文件是文件对象,则文件名不变。如果文件是字符串或路径,则会在文件名后添加 .npy 扩展名,如果它尚未具有扩展名。

这意味着如果文件名有目录(即:路径),它将被存储在那里。因此,像这样的代码应该可以满足您的需求:

import os
np.save(os.path.join('Check', 'train_set'), training)

我该如何将其保存在文档中呢?我应该使用x=os.path.join('Documents','Check')并且然后np.save(x,'/train_set',training)吗? - sara
你使用的是哪个操作系统? - Stephen Rauch
我正在使用Ubuntu 14.04。 - sara
1
因此,os.path.join() 用于构建路径。它以一种在任何操作系统上都可以工作的方式将它们加在一起。但未提及的是路径从哪里开始。如果路径没有从特定位置开始,则相对于程序运行时的当前目录。在 Ubuntu 上,我认为“文档”位于您的主目录中,因此要以 Documnets 开始,可以使用 docs_dir=os.path.expanduser('~/Documents') 构建。然后 np.save(os.path.join(docs_dir, 'Check', 'train_set'), ... - Stephen Rauch
使用os.path.write(x)和numpy.save(x)有什么区别? - skan
@skan 我不知道os.path.write() - Stephen Rauch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接