下载后如何在colaboratory环境中解压到特定文件夹中的文件?

新手上路,请多包涵

当我使用来自 GoogleDrive 的连接时,我一直在寻找一种解决方案来解决 google colab 上图像数据集上传速度慢的问题。使用以下代码:

 from google.colab import drive

drive.mount('/content/gdrive')

使用此过程,我可以上传图像并使用我的 def load_dataset 创建标签:

'train_path=content/gdrive/MyDrive/Capstone/Enviroment/cell_images/train'

train_files, train_targets = load_dataset(train_path)

但是,正如我所说,它非常慢,尤其是因为我的完整数据集由 27560 张图像组成。

为了解决我的问题,我尝试使用 此解决方案

但是现在,为了仍然使用我的 def 功能,下载 .tar 文件后,我想将其解压缩到 colab 环境中的特定文件夹中。我找到 了这个答案,但没有解决我的问题。

例子:

这是已经下载了 test.tar 的环境。 在此处输入图像描述

但我想提取 tar 文件中的文件,其结构为 train/Uninfectedtrain/Parasitized ,得到这个:

  • 内容

    • 细胞图像
      • 测试
        • 被寄生
        • 未感染
      • 火车
        • 被寄生
        • 未感染
      • 有效的
        • 被寄生
        • 未感染

要在 def 函数中使用路径:

train_path = train_path=content/cell_images/train/'

train_files, train_targets = load_dataset(train_path)

test_path = train_path=content/cell_images/test/'

test_files, test_targets = load_dataset(test_path)

valid_path = train_path=content/cell_images/valid/'

valid_files, valid_targets = load_dataset(valid_path)

我尝试使用: ! mkdir -p content/cell_images!tar -xvf 'test.tar' content/cell_images

但它不起作用。

有谁知道如何进行?

谢谢!

原文由 Paulo Henrique Zen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 934
2 个回答

要将文件从 tar 归档程序提取到文件夹 content/cell_images 使用命令行选项 -C

 !tar -xvf  'test.tar' -C 'content/cell_images'

希望这可以帮助!

原文由 user2314737 发布,翻译遵循 CC BY-SA 4.0 许可协议

虽然回答晚了,但可能会帮助别人:

shutil.unpack_archive 适用于几乎所有的存档格式(例如,“zip”、“tar”、“gztar”、“bztar”、“xztar”)并且它很简单:

 import shutil
shutil.unpack_archive("filename", "path_to_extract")

原文由 Md Hishamur Rahman 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题