python 将图片存入mongodb,读取图片,gridfs模块
导入图片
引入模块,其中gridfs模块不需要单独安装,引入了pymongo即可直接引入
from pymongo import MongoClient
from gridfs import *
import os
#链接mongodb
client=MongoClient('localhost',27017)
#取得对应的collection
db=client.image
#本地硬盘上的图片目录
dirs = 'e:\cs'
#列出目录下的所有图片
files = os.listdir(dirs)
#遍历图片目录集合
for file in files:
#图片的全路径
filesname = dirs + '\\' + file
#分割,为了存储图片文件的格式和名称
f = file.split('.')
#类似于创建文件
datatmp = open(filesname, 'rb')
#创建写入流
imgput = GridFS(db)
#将数据写入,文件类型和名称通过前面的分割得到
insertimg=imgput.put(datatmp,content_type=f[1],filename=f[0])
datatmp.close()
print("js")
创建成功后,会在集合中生成fs.flies和fs.chunks
导出图片
from pymongo import MongoClient
from gridfs import *
client=MongoClient('localhost',27017)
db=client.image
#给予girdfs模块来写出,其中collection为上一步生成的,我不知道怎么该名称。实际上是由fs.flies和fs.chunks组成
gridFS = GridFS(db, collection="fs")
count=0
for grid_out in gridFS.find():
count+=1
print(count)
data = grid_out.read() # 获取图片数据
outf = open('cs.jpg','wb')#创建文件
outf.write(data) # 存储图片
outf.close()
---------------------
作者:a873054267
来源:CSDN
原文:https://blog.csdn.net/A873054267/article/details/83788430
版权声明:本文为博主原创文章,转载请附上博文链接!
python 将图片存入mongodb,读取图片,gridfs模块的更多相关文章
- 在laravel环境下将图片存入MongoDB数据库
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- VS.C#如何向数据数据库中存入和读取图片的
写入图片部分代码:假设图片为 test.gifbyte [] bytes = File.ReadAllBytes(@"c:\test.gif");SqlConnection con ...
- 【小白学PyTorch】16 TF2读取图片的方法
[新闻]:机器学习炼丹术的粉丝的人工智能交流群已经建立,目前有目标检测.医学图像.NLP等多个学术交流分群和水群唠嗑的总群,欢迎大家加炼丹兄为好友,加入炼丹协会.微信:cyx645016617. 参考 ...
- (第二章第二部分)TensorFlow框架之读取图片数据
系列博客链接: (第二章第一部分)TensorFlow框架之文件读取流程:https://www.cnblogs.com/kongweisi/p/11050302.html 本文概述: 目标 说明图片 ...
- 使用python把图片存入数据库-乾颐堂
一般情况下我们是把图片存储在文件系统中,而只在数据库中存储文件路径的,但是有时候也会有特殊的需求:把图片二进制存入数据库. 今天我们采用的是python+mysql的方式 MYSQL 是支持把图片存入 ...
- python 读取图片的尺寸、分辨率
#需要安装PIL模块 #encoding=gbk#--------------------------------------------------------------------------- ...
- Python读取图片尺寸、图片格式
Python读取图片尺寸.图片格式 需要用到PIL模块,使用pip安装Pillow.Pillow是从PIL fork过来的Python 图片库. from PIL import Image im = ...
- python 修改、读取图片元数据
图片元数据 图片元数据(metadata)是嵌入到图片文件中的一些标签.比较像文件属性,但是种类繁多.常见的几种标准有: EXIF:通常被数码相机在拍摄照片时自动添加,比如相机型号.镜头.曝光.图片尺 ...
- Python中Opencv和PIL.Image读取图片的差异对比
近日,在进行深度学习进行推理的时候,发现不管怎么样都得不出正确的结果,再仔细和正确的代码进行对比了后发现原来是Python中不同的库读取的图片数组是有差异的. image = np.array(Ima ...
随机推荐
- 用vultr搭建ss服务器的脚本
原文在此
- 设置div标签可以输入文字
1.contenteditable 属性可以设置div标签为克输入标签, 2.input和textarea虽然是常用的输入标签,但是这两个标签不能设置最大高度和最小高度, 随意如果想随着输入的内容 ...
- python 列表总结大全
1定义 names=[] names=[1,2,1,1,1,] names=[1.'10'.[1,1]] 2添加元素 names.append() names.insert(0,10) names.e ...
- linux改变内核参数
- CMSIS-DAP
https://www.jixin.pro/bbs/topic/4187 https://lceda.cn/jixin002/stm32f103c8t6_cmsis-dap http://tieba. ...
- 6层PCB设计技巧和步骤
6层PCB设计技巧和步骤 一.原理图的编辑 6层板由于PCB板中可以有两层地,所以可以将模拟地和数字地分开.对于统一地还是分开地,涉及到电磁干扰中信号的最小回流路径问题,绘制完原理图,别忘检查错误和 ...
- Vue-列表渲染 非变异方法
变异方法 (mutation method),顾名思义,会改变被这些方法调用的原始数组.相比之下,也有非变异 (non-mutating method) 方法,例如:filter(), concat( ...
- Flutter-AppBar
1.1 简介 AppBar “应用栏” 应用栏由工具栏组成,或者是工具栏和其他 widget 组合形成,例如 TabBar和FlexibleSpaceBar; 应用栏通常用于 Scaffold.app ...
- Web前端性能优化详解之CSS与JS加载
浏览器加载页面和渲染过程 加载过程 浏览器根据DNS 服务器得到域名的IP地坛 向这个 IP 的机器发送 HTTP请求 服务器收到,处理并返回 HTTP请求 浏览器得到返回内容 渲染过程 根据 HTM ...
- 21.使用LinkedBlockingQueue模拟生产者与消费者
import java.util.concurrent.BlockingQueue; import java.util.concurrent.TimeUnit; import java.util.co ...