我有一个谷歌云存储桶,它有7个子文件夹,名为subset0
到subset7
。我想把它们全部复制到谷歌colab。现在我正在使用类似的代码
!gsutil -m cp -r gs://mybucket/datafolder/subset0 datafolder/
以分别复制每个文件夹。我不知道如何在不重复同一行7次的情况下编写for循环来复制所有文件夹。非常感谢!!
正如@FerreginaPelona在评论中提到的那样,如果您的gs://mybucket/datafolder/
只包含subset0
到subset7
,而没有其他子文件夹,则可以使用gsutil -m cp -r gs://mybucket/datafolder/subset* datafolder/
。
但是,如果源存储桶路径有其他子文件夹,并且您只想指定所需的子文件夹,则可以将子文件夹放在列表中,并使用for循环(如下所示)。
from google.colab import auth
auth.authenticate_user()
# Download the file from a given Google Cloud Storage bucket.
subfolder_list = ["subset0","subset1","subset2","subset3","subset4","subset5","subset6","subset7"]
for subfolder in subfolder_list:
!gsutil -m cp -r gs://mybucket/datafolder/{subfolder} /datafolder