本地数据集上传到colab很慢,而且断开后就没了,因此通过colab将本地的数据集上传到drive,即使断开连接,第二次连接后挂载drive后即可直接使用数据集。
**步骤一、**将本地数据集上传到colab的临时文件夹中,由于将文件夹上传到colab非常不方便,只能上传单个文件,因此这里上传压缩包,上传后再解压缩,从而得到在临时文件中的数据集文件夹。
python
# ********** 下面这段代码实 ************
# ********** 现了将压缩包的 ************
# ********** 数据集上传到 ************
# ********** colab并解压 ***********
from google.colab import files
import zipfile
import os
# 上传压缩文件
uploaded = files.upload()
# 获取上传文件的名称
for filename in uploaded.keys():
print(f'上传的文件: {filename}')
zip_filename = filename
# 解压缩文件到指定路径
zip_path = '/content/' + zip_filename
extract_folder = '/content/unzipped_folder'
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
zip_ref.extractall(extract_folder)
# 显示解压后的文件夹内容
print(os.listdir(extract_folder))
**步骤二、**将在临时文件中的数据集文件夹移到drive中。
python
# ********** 下面这段代码实 ************
# ********** 现了将解压后的 ************
# ********** 文件夹上传到 ************
# ********** drive,以便下 ***********
# ********** 次使用数据集时 ************
# ********** 只需挂载drive ***********
# ********** 就能直接用 ************
from google.colab import drive
# 挂载 Google Drive
drive.mount('/content/drive')
import shutil
import os
extract_folder = '/content/unzipped_folder'
destination_folder = '/content/drive/My Drive'
shutil.move(extract_folder, destination_folder)
# 显示文件夹中的内容
print(os.listdir(destination_folder))
完成后可见:断开colab连接再重新连接colab,执行下面代码挂载drive后可见上传完成的数据集
python
# 挂载 Google Drive以实现数据集的获取,
# 第二次运行代码时,上面的两个代码框不用再执行了
from google.colab import drive
drive.mount('/content/drive')