【问题标题】:How to unzip a file in a specific folder in colaboratory environment after download it?下载后如何在colaboratory环境下解压到指定文件夹中的文件?
【发布时间】:2019-09-02 12:19:36
【问题描述】:

当我使用来自 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 张图像组成。

为了解决我的问题,我尝试使用this solution

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

例子:

这是已经下载了 test.tar 的环境。

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

  • 内容

    • cell_images
      • 测试
        • 被寄生了
        • 未感染
      • 火车
        • 被寄生了
        • 未感染
      • 有效
        • 被寄生了
        • 未感染

在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

但它不起作用。

有谁知道如何进行?

谢谢!

【问题讨论】:

    标签: python tar google-colaboratory


    【解决方案1】:
    【解决方案2】:

    虽然回答较晚,但可能对其他人有所帮助:

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

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

    【讨论】:

      【解决方案3】:

      如果你的当前目录是默认目录/content,你可以像这样解压你的文件夹项目:

      %%bash
      mkdir foldername
      tar -xvf '/content/foldername.tar' -C '/content/'
      

      %%bash 允许您编写脚本,而无需在每行的开头使用 !

      【讨论】:

        【解决方案4】:

        连接到驱动器,

        从 google.colab 导入驱动器 drive.mount('/content/drive')

        检查目录 !ls 和 !pwd

        解压 !unzip drive/"My Drive"/images.zip -d 目的地

        【讨论】:

          【解决方案5】:

          要将文件从 tar 归档器解压到文件夹 content/cell_images,请使用命令行选项 -C

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

          希望这会有所帮助!

          【讨论】:

            猜你喜欢
            • 2019-05-21
            • 1970-01-01
            • 2016-05-31
            • 1970-01-01
            • 2018-06-18
            • 2022-09-30
            • 1970-01-01
            • 2018-04-11
            • 2019-02-20
            相关资源
            最近更新 更多