在尝试在谷歌Colab中加载pickle文件时出现错误

3

我正在使用Google Colab尝试将pickle文件加载到数组中。然而,它找不到我的数据路径。目前我的数据设置为:

/content/drive/My Drive/My Folder/Data/Storage/My Pickle Files/

我的驱动器被挂载到路径:

drive.mount('/content/drive')

我有一个pickle文件的数组,我正在尝试将它们加载到数组中,但似乎无法找到正确的路径来加载这些文件,我尝试使用下面描述的代码:

p_files = [
        "content/drive/My Drive/My Folder/Data/Storage/My Pickle Files/pickles_1.pkl",
        "content/drive/My Drive/My Folder/Data/Storage/My Pickle Files/pickles_2.pkl",
        "content/drive/My Drive/My Folder/Data/Storage/My Pickle Files/pickles_3.pkl",
        "content/drive/My Drive/My Folder/Data/Storage/My Pickle Files/pickles_4.pkl",
        "content/drive/My Drive/My Folder/Data/Storage/My Pickle Files/pickles_5.pkl",
        "content/drive/My Drive/My Folder/Data/Storage/My Pickle Files/pickles_6.pkl"   
    ]

loaded_pickles = []

for p in p_files:
    with open(p, 'rb') as file:
        loaded_pickles.append(pickle.load(file))

我遇到了这个错误:

FileNotFoundError: [Errno 2] No such file or directory: 'content/drive/My Drive/My Folder/Data/Storage/My Pickle Files/pickles_1.pkl'

你解决了你的问题吗?我也遇到了同样的问题。下面的答案对我不起作用。 - Luca Guarro
1个回答

1

您需要指定pickle文件在您的Drive中。

例如:"content/drive/My Drive/My Folder/Storage/My Pickle Files/pickles_1.pkl"

否则它会认为这些文件是本地的。

或者,您可以使用shutil或类似工具将文件移植到本地,但我不知道为什么要这样做。

回复OP的评论:也许您可以尝试使用类似以下的方式将文件移植到本地:

import shutil
for file in p_files:
    filename = file[62:]
    shutil.copy(file, filename)
new_p_files = [f[62:] for f in p_files]

然后使用您的原始方法加载new_p_files?

我确实尝试过那样做。不幸的是,即使我手动指定路径,它也输出相同的内容。有没有其他方法可以按照相同的顺序加载这些pickle文件? - user13416012
看一下我的编辑;也许会有所帮助。 - Lucas Ng

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