zoukankan      html  css  js  c++  java
  • Deepin_使用Python+MySQL创建工作日志记录

    Deepin_创建建议工作日志记录

    1. 概述

    有款跨平台的轻量级小工具,叫uTools,它有些自带的插件——todo,如果设置了全局快捷键,使用todo记录一些日志,备忘,非常完美。

    但是uTools在Deepin上启动速度不是很友好,所以我就放弃了(当然win平台还是在用的)。

    然后因为是Linux桌面操作系统(Deepin),免不了自己倒腾一下啦。

    2. 倒腾过程

    2.1 环境准备

    环境很简单,Deepin自带了Python环境,就用Python来写个脚本,把文本信息存入数据库。所以安装数据库,这里不再详述如何安装数据库。

    我安装的是MySQL。

    总结:

    • Python 系统自带
    • MySQL 使用包管理工具安装sudo apt-get

    2.2 创建数据库

    安装好MySQL之后,创建一个数据库以及表格

    create database my_work;
    use my_work;
    CREATE TABLE `t_2020_work_log` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `content` varchar(500) DEFAULT NULL,
      `update_time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4
    

    表格很简单,就是一个content字段,表示日志/备忘内容,update_time字段表示插入的时间

    2.3 编辑脚本

    2.3.1 录入脚本

    #!/usr/bin/env python2
    # -*- coding:utf-8 -*-
    
    import pymysql
    import sys
    import readline
    
    def connect_my():
        return pymysql.connect(host='localhost',port=3306,user='数据库账号',password='数据库密码',database='my_work')
    
    def insert_sql(name):
        conn = connect_my()
        cur = conn.cursor()
        try:
            sql_str = """
                insert into t_2020_work_log(`content`) values("%s")
            """ % name
            cur.execute(sql_str)
            conn.commit()
        except Exception:# as e:
            conn.rollback()
        finally:
            cur.close()
            conn.close()
    
    
    print("本周工作记录(回车键结束输入):")
    i = 1
    aaa = list()
    try:
        while True:
            content=raw_input(str(i)+":")
            if not content:
                break
            else:
                aaa.append(str(i)+":"+content)
                i += 1
        if aaa:
            insert_sql(";".join(aaa))
        else:
            pass
    except KeyboardInterrupt:
        print("终止输入,退出")
    

    2.3.2 报告脚本

    #!/usr/bin/env python2
    # -*- coding:utf-8 -*-
    import pymysql
    
    def connect_my():
        return pymysql.connect(host='localhost',port=3306,user='账号',password='密码',database='my_work')
    
    def select_all():
        conn = connect_my()
        cur = conn.cursor()
        sql_str = """ select content from t_2020_work_log;""" 
        cur.execute(sql_str)
        data=cur.fetchall()
        cur.close()
        conn.close()
        return data
    
    for info in select_all():
        for a in "".join(info).split(";"):
            print(a)
        print("*****************************************************")
    

    2.4 配置快捷

    Deepin设置全局快捷键,把上述两个脚本,设置快捷键

    快捷键命令:

    #工作报告
    deepin-terminal -m maximize -l "one light" -e python /home/liwl/.myscripts/work_report.py 
    #工作记录
    deepin-terminal -m maximize -l "one light" -e python /home/liwl/.myscripts/work_record.py
    
  • 相关阅读:
    [GL]行星运行1
    一个图的带权邻接表存储结构的应用
    [GDAL]3.影像金字塔构建
    [GDAL]1.GDAL1.8.1编译与第一个程序
    [GDAL]2.读取栅格和矢量数据
    C#迭代器
    GoogleEarth缓存机制探索
    AE开发三维的不足!
    [GDAL]4.影像的读取和显示
    [STL学习]1.概述
  • 原文地址:https://www.cnblogs.com/liwanliangblog/p/13524474.html
Copyright © 2011-2022 走看看