zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    PosegreSQL基础回顾(第 5 章 数据定义)
    PosegreSQL基础回顾(第 4 章 SQL语法)
    大数据学习2(伪分布式搭建)
    大数据学习2(MapReduce)
    大数据学习1(HDFS)
    Linux find用法
    shell循环
    查询一次数据库给多个变量赋值
    linux cut用法
    linux权限
  • 原文地址:https://www.cnblogs.com/zf-blog/p/10756859.html
Copyright © 2011-2022 走看看