如何访问从kaggle下载到Colaboratory笔记本中的文件?

时间:2019-10-03 19:17:40

标签: python-3.x image-processing google-colaboratory kaggle

我在处理Colaboratory Notebook中的多个文件时遇到一些困难,该笔记本下载到我的Google驱动器的/ content目录中。到目前为止,我已经使用以下代码成功下载了kaggle数据集并将其提取到Colaboratory Notebook:

!kaggle datasets download -d iarunava/cell-images-for-detecting-malaria -p /content
!unzip \cell-images-for-detecting-malaria.zip

我还能够使用Pillow将数据集中的单个文件导入到我的Colaboratory会话中(我从提取过程中产生的输出中获取了文件名):

from PIL import Image
img = Image.open('cell_images/Uninfected/C96P57ThinF_IMG_20150824_105445_cell_139.png')

如何在不事先知道文件名称的情况下从/ content访问多个提取的文件?

谢谢!

2 个答案:

答案 0 :(得分:1)

经过进一步的实验,我发现python os模块在Colab Notebook中的工作方式与在单台计算机上的类似。例如,在Colab Notebook中,命令

os.getcwd()

返回'/ content'作为输出。

此外,命令os.listdir()返回我下载并提取的所有文件的名称。

答案 1 :(得分:0)

您可以使用 glob glob.glob(pattern)将匹配所有与模式匹配的文件。例如,下面的代码将读取.png中的所有image_dir文件。

png = glob.glob(os.path.join(img_dir, '*.png'))
png = np.array(png)

png将包含文件名列表。

您可以使用:

png = glob.glob('cell_images/Uninfected/*.png')
png = np.array(png)