Google Colab:如何循环浏览文件夹中的图像?

Zho*_*ouW 5 python

我已经将大量 .jpg 图像从我的 Google Drive 复制到 Google Colab 每个Google Colab:如何从我的谷歌驱动器读取数据?

local_download_path = os.path.expanduser('~/data')
try:
  os.makedirs(local_download_path)
except: pass

# 2. Auto-iterate using the query syntax
#    https://developers.google.com/drive/v2/web/search-parameters
file_list = drive.ListFile(
    {'q': "'1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk' in parents"}).GetList()

for f in file_list:
  # 3. Create & download by id.
  print('title: %s, id: %s' % (f['title'], f['id']))
  fname = os.path.join(local_download_path, f['title'])
  print('downloading to {}'.format(fname))
  f_ = drive.CreateFile({'id': f['id']})
  f_.GetContentFile(fname)
Run Code Online (Sandbox Code Playgroud)

这已完成,因此所有图像文件都应位于一个data文件夹中。我现在如何实际访问这些文件?我想遍历文件data夹中所有 .jpg 类型的文件。

小智 10

一种替代方法是使用已经实现的 os 库。

# Just needed in case you'd like to append it to an array
data = []

for filename in os.listdir(local_download_path):
    if filename.endswith("jpg"): 
        # Your code comes here such as 
        print(filename)
        data.append(filename)
Run Code Online (Sandbox Code Playgroud)


BIP*_*DOL 6

获取所有文件并转换为numpy数组

import cv2
import glob
path = "/content/bb/*.*"
for file in glob.glob(path):
   print(file)
   a= cv2.imread(file)
   print(a)
Run Code Online (Sandbox Code Playgroud)


tar*_*ras 4

下载数据后,local_download_path您可以使用glob.glob扩展名获取文件:

import glob
images = glob.glob(local_download_path + '/*.jpg')
Run Code Online (Sandbox Code Playgroud)