python中的MySQL使用 + pickle使用
(1)python中有一个包“sqlite3”,可以用来进行数据库相关的操作;
参考下面一个例子:
import sqlite3
import pickle img_list = [('a' , 0) , ('b' , 0)]
length = [1 , 2]
content = [img_list , length] #如果没有Info.db,则新建一个
if not os.path.exists("Info.db"):
conn = sqlite3.connect("Info.db")
c = conn.cursor()
#执行括号中的语句,使用CREATE TABLE创建一个表
c.execute('''CREATE TABLE INFO
(NAME TEXT NOT NULL,
LENGTH INT NOT NULL);''')
conn.commit()
conn.close()
#删除Info.db中已有的数据,初始化操作
conn = sqlite3.connect('info.db')
c = conn.cursor()
c.execute('delete from INFO;')
#将img_list和length写入表中
for i in range(len(img_list)):
a = "insert into INFO values(" + "'" + img_list[i] + "'," + str(length[i]) + ");"
c.execute(a)
conn.commit()
conn.close()
(2)关于pickle的使用:
可以使用pickle包对对象进行序列化,方便存储和读取;例子如下:
首先进行序列化:
#init local.db
if not os.path.exists(save_data_path + "local.db"):
conn = sqlite3.connect(save_data_path + "local.db")
c = conn.cursor()
c.execute('''CREATE TABLE INFO
(NAME TEXT NOT NULL,
LENGTH INT NOT NULL);''')
conn.commit()
conn.close()
conn = sqlite3.connect(save_data_path + 'local.db')
c = conn.cursor()
c.execute('delete from INFO;')
conn.commit()
conn.close()
db_file = open(save_data_path + 'local.db' , 'wb')
pickle.dump(content , db_file , 1) #序列化操作,1表示以二进制方式进行序列化
读取操作,例子如下:
import pickle
with open('./train_data/0/local.db' , 'rb') as f:
images , length = pickle.load(f)
python中的MySQL使用 + pickle使用的更多相关文章
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- Python中使用Mysql(安装篇)
准备工作 import MySQLdb Linux系统自带了Python,但并不是都有这个包,至少我每次拿到一台全新的服务器时候,都发现没有装这个包. 这个东西的下载地址是 http://source ...
- (转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...
- python中实现mysql连接池
python中实现mysql连接池 import pymysql from DBUtils.PooledDB import PooledDB MYSQL_HOST = 'localhost' USER ...
- Navicat的使用与python中使用MySQL的基本方法
Navicat的使用与python中使用MySQL的基本方法 Navicat的下载及安装 下载地址 http://www.navicat.com.cn/download/navicat-premium ...
- python中的MySQL数据库操作 连接 插入 查询 更新 操作
MySQL数据库 就数据库而言,连接之后就要对其操作.但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄自维 ...
- Python中模块json与pickle的功能介绍
json & pickle & shelve 1. json的序列化与反序列化 json的使用需要导入该模块,一般使用import json即可. json的序列化 方法1:json. ...
- python中的mysql数据库like模糊查询
%在python中是个特殊的符号,如%s,%d分别代表了字符串占位符和数字占位符. 大家知道,mysql的模糊查询也需要用到%. 所以,可以先把需要查的字符串抽出来,再以参数方式传入. args = ...
- python中的json和pickle
author:headsen chen date::2018-04-10 09:56:54 json模块和pickle模块: 这是用于序列化的两个模块: 概念介绍:json和pickle模块是将数据 ...
随机推荐
- python open 函数的读写追加
- Java静态代码块、构造代码块执行顺序问题
package com.zxl.staticdemo; public class BlockTest { static { System.out.println("BlockTest静态代码 ...
- C++开发python windows版本的扩展模块示例
C++开发python windows版本的扩展模块示例 测试环境介绍和准备 测试环境: 操作系统:windows10 Python版本:3.7.0 VS版本:vs2015社区版(免费) 相关工具下载 ...
- LODOP不同电脑打印效果不同排查
1.位置不同,偏移问题.详细的相关偏移问题的博文:LODOP不同打印机出现偏移问题 2.样式问题. 本机浏览器解析样式不同 ,相关超文本样式博文:Lodop打印控件传入css样式.看是否传入正确样式 ...
- vue 源代码创建tabs
<ul class="tabs"> <li class="li-tab" v-for="(item,index) in tabsPa ...
- a标签 download base64 下载 网络失败
使用html2canvas 生成尺寸较大 base64 后进行 a标签 download 下载 ,浏览器报网络失败错误 通过谷歌搜索 发现原因是 因为截取尺寸较大 导致生成base64 长度太大 ...
- SpringBoot之常用注解
在spring boot中,摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度.同样在spring boot中,大量注解的使用,使得代码 ...
- BZOJ2882工艺
题目描述 小敏和小燕是一对好朋友. 他们正在玩一种神奇的游戏,叫Minecraft. 他们现在要做一个由方块构成的长条工艺品.但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工艺品最左边的方 ...
- MySQL数据库、表常用操作
1.按条件查询表中数据: mysql> select user,host,password from user; 2.按组合条件查询表中数据: mysql> select id, pass ...
- Day053--MySQL
MySQL安装和基本管理https://www.cnblogs.com/majj/p/9160383.html 管理员模式运行cmd 打开终端,输入mysqld,打开服务端. 打开终端,输入mysql ...