业务需求:集成华视电子身份证读取sdk,通过requests库进行网络请求并解析,然后将读取到的身份证信息采用sqlite3持久化到本地

直接上代码,里面有注释

# -*- coding: UTF-8 -*-
from tkinter import *
import requests
# import tkinter.messagebox as msgbox
import sqlite3# 连接设备
def linkRequest():analysisJson('http://127.0.0.1:19196/OpenDevice')# 读取身份证
def readRequest():jsonData = analysisJson('http://127.0.0.1:19196/readcard')certNumber = jsonData.get("certNumber")partyName = jsonData.get("partyName")if partyName != '' and certNumber != '':info = partyName + ',' + certNumberstrv2.set(info)listBox.insert(END, info)sqlSelect = 'select * from t_user where certNumber=?'sqlInsert = 'insert into t_user (partyName,certNumber) values (?,?)'sqlSelectAll = 'select * from t_user'try:cursor.execute(sqlSelect, (certNumber,))if cursor.fetchone() is None:cursor.execute(sqlInsert, (partyName, certNumber))conn.commit()print('插入成功')else:print('数据已存在')except Exception as e:conn.rollback()print(e)print('插入失败')finally:cursor.execute(sqlSelectAll)print(cursor.fetchall())#     cursor.close()#     conn.close()else:strv2.set('身份信息为空')# 断开设备
def stopRequest():analysisJson('http://127.0.0.1:19196/CloseDevice')# 解析json
def analysisJson(url):jsonData = requests.get(url).json()print(jsonData)errorMsg = jsonData.get("errorMsg")strv1.set(errorMsg)return jsonData# 数据库
db_name = 'person.db'
conn = sqlite3.connect(db_name)
cursor = conn.cursor()
# 测试需要删除已存在的表
sqlDeleteTable = 'drop table IF EXISTS t_user'
cursor.execute(sqlDeleteTable)
# 如果表名不存在,建表
sql = 'CREATE TABLE IF NOT EXISTS t_user (id INTEGER PRIMARY KEY AUTOINCREMENT, partyName varchar(30) NOT ' \'NULL, certNumber varchar(30) NOT NULL) '
cursor.execute(sql)# tk-gui
root = Tk()
root.title('咽式子v1.0')
# root.geometry('400x300')
root.minsize(400, 300)
# 权重,随着整个tk页面的大小,里面的内容也随之改变,居中
root.columnconfigure(1, weight=1)
# 内容框架,方便使用网格布局
f2 = Frame(root)
strv1 = StringVar()
strv2 = StringVar()
strv1.set('执行结果将在这里显示')
strv2.set('身份证信息将在这里显示')
# 三个按钮组件
btnLink = Button(f2, text='连接设备', command=linkRequest).grid(row=1, column=1, padx=10)
btnRead = Button(f2, text='读取身份证', command=readRequest).grid(row=1, column=2, padx=10)
btnStop = Button(f2, text='断开设备', command=stopRequest).grid(row=1, column=3, padx=10)
# 文本组件
contentLabel = Label(f2, textvariable=strv1).grid(row=2, column=2, pady=10)
contentLabel2 = Label(f2, textvariable=strv2).grid(row=3, column=2)
# list列表组件
listBox = Listbox(f2)
listBox.grid(row=4, column=2, sticky=W+E)f2.grid(row=1, column=1, pady=10)
# 开启页面循环刷新
root.mainloop()

python-tk身份证读取页面编写相关推荐

  1. python读二进制格点雷达基数据_radar: 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取...

    radar-core 介绍 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取 包括读取分层ppi.插值到等经纬度的网格化ppi以及 cappi.vcs等基本 ...

  2. java雷达数据解析_radar: 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取...

    radar-core 介绍 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取 包括读取分层ppi.插值到等经纬度的网格化ppi以及 cappi.vcs等基本 ...

  3. python爬虫步骤-黑客基础 编写Python爬虫入门步骤

    原标题:黑客基础 编写Python爬虫入门步骤 信息时代,数据就是宝藏.数据的背后隐含着无穷的宝藏,这些宝藏也许就是信息量所带来的商业价值,而大数据本身也将成为桌面上的筹码. 黑客花无涯 带你走进黑客 ...

  4. python 读取文件读出来是什么格式-深入学习python解析并读取PDF文件内容的方法...

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  5. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  6. python xlrd读取excel-使用Python xlrd模块读取Excel格式文件的方法

    这是一篇关于如何使用Python xlrd模块读取Excel格式文件的方法的文章,下面的python代码中使用 了xlrd模块的方法,这样就能够很方便的读取 excel 文件内容.同是这个xlrd模块 ...

  7. Python通过WMI读取主板BIOS信息

    Windows Management Instrumentation (WMI,Windows管理规范) 是Web-Based Enterprise Management (WBEM)的Windows ...

  8. python数据可视化读取excell文件绘制图像详细教程

    python数据可视化读取excell文件绘制图像详细教程 python数据可视化 python库中的基本用法 import pandas as pd # 调用pandas库 来读取excell的文件 ...

  9. 华视电子vue身份证读取

    一.华视电子官网下载程序包 官网地址 二.安装 安装Windows程序安装完成以后会在文件夹内自动生成一个(100UD开发包(Windows))开发包文件夹 打开此文件夹 打开USB驱动安装64位操作 ...

最新文章

  1. Git使用学习笔记 (一)
  2. oracle 11g 数据库恢复技术 ---03 补充日志
  3. python callback函数_回调函数callbacks
  4. caffe框架下目标检测——faster-rcnn实战篇操作
  5. 【转】为什么不能使用字符流读取非文本的二进制文件?
  6. 2复数与复变函数(二)
  7. JavaWeb — 获取复选框的值时,要注意不是得到显示的值,而是得到value值
  8. WGAN-GP方法介绍
  9. 【有利可图网】PS教程:制作变形文字
  10. python条形码识别_使用Python和OpenCV在视频中实时监测条形码
  11. ROS turtlebot_follower :让机器人跟随我们移动
  12. 目标检测论文核心思想,18-19-20年论文梗概
  13. 用ode求解二阶非线性微分方程
  14. JMeter开发一个最简单的Sampler
  15. html页面中引入script标签的src的写法,/与//的区别
  16. 【1086】角谷猜想
  17. 适合自学单片机c语言教材,单片机编程入门看什么书 盘点单片机初学者适合看的书...
  18. 编译原理——SysY编译器实践报告
  19. GIS初学者,最新OpenLayers WMTS 天地图,OpenLayers加载天地图、调用天地图WMTS示例、tianditu、EPSG:3857、EPSG:4326
  20. 图文并茂raid技术详解(raid大全)

热门文章

  1. 以太网的分层架构_现代通信网络的分层结构及各层的作用
  2. excele 中的宏的简单语法
  3. 做了两个1~24V 可调电源。USB充电。
  4. 数据结构第二版(朱昌杰版)补第一章习题答案
  5. IndieLib开源游戏引擎第一篇中文介绍
  6. 【数据库】学生档案管理系统
  7. [附源码]java毕业设计学生档案管理系统
  8. android底层驱动——SD卡(TF卡\MMC卡)检测识别
  9. unity坦克大战(一)
  10. Java 日期转ISO8601标准时间