from pymongo import MongoClient from gridfs import * import os #连接mongodb client=MongoClient('localhost',27017) #取得对应的collection db=client.image #本地硬盘上的图片目录 dirs = 'H:\PYTHON-DUJUN\day999-spider\db\mongodb' #列出目录下的全部图片 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("保存成功")
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('%s.png' %count,'wb')#建立文件 outf.write(data) # 存储图片 print('ok') outf.close()
https://www.cnblogs.com/zhangxinqi/p/9242687.htmlhtml
自建一个json格式的数据python
https://www.imooc.com/article/21772mongodb
那为何要用mongo来存呢?数据库
首先、数据关系复杂,没有表链接,结构化弱。json
而后、利用mongo全文索引查找方便python2.7
最好、数据不重要,记录的日志数据库。意外丢失风险能够接受。ide
说了这么多,接下来幕客先给你们说说对mongo的CURD,以下:spa
1、安装mongo的支持日志
sudo /opt/python2.7.13/bin/pip install pymongocode
2、简单操做
1) 数据库实例建立
In [1]: import pymongo In [2]: pymongo.MongoClient('192.168.8.237',27017) Out[2]: MongoClient(host=['192.168.8.237:27017'], document_class=dict, tz_aware=False, connect=True) In [3]: mgc = pymongo.MongoClient('192.168.8.237',27017)
2)插入数据
In [4]: db = mgc['iops'] In [10]: col.insert_one(content) Out[10]: <pymongo.results.InsertOneResult at 0x104907e60>
3)数据查找,确认插入成功
> db.logrecord.find() { "_id" : ObjectId("5a27b65dfa121a84df126d8c"), "status" : "success", "stepid" : 2, "stepinfo" : "ok! finished", "taskid" : 23432 }
4)直接经过python的对象获取内容
In [12]: col.find_one() Out[12]: {u'_id': ObjectId('5a27b65dfa121a84df126d8c'), u'status': u'success', u'stepid': 2, u'stepinfo': u'ok! finished', u'taskid': 23432}
(5) 经过查询条件查询
查询成功的内容
In [13]: col.find_one({'status':'success'}) Out[13]: {u'_id': ObjectId('5a27b65dfa121a84df126d8c'), u'status': u'success', u'stepid': 2, u'stepinfo': u'ok! finished', u'taskid': 23432}
(6) 更新数据
col.update_one({"stepid":2},{"$set":{"stepid":3}})
(7) 获取全部的集合
至关于show tables获取集合操做
In [11]: db.collection_names() Out[11]: [u'opts', u'logrecord']