业务需求:集成华视电子身份证读取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. Matlab编程与数据类型 -- 循环控制语句之二:while/end
  2. 美多商城之用户注册(用户注册业务实现)
  3. 1 代码_给你代码:Workbox介绍(1)
  4. 多态部分作业 3..创建Rodent(啮齿动物):Mnouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)
  5. adb启动失败 ADB server didn't ACK
  6. mysql 有两种数据库引擎发音
  7. load data详解
  8. python每行输出30个字_python_30期【for循环】
  9. mysql 用户密码md5_使用MD5编码实现数据库用户密码字段的加密
  10. 黑马程序员_Java基础面向对象
  11. VS Code远程连接矩池云GPU主机
  12. Postfix:邮件系统常见错误代码解释
  13. c语言funcode空格消失的函数,funcode海底世界练习c语言
  14. [阅读笔记]《解析卷积神经网络_深度学习实践手册》魏秀参著
  15. 夜深人静写算法(二)- 动态规划
  16. 邮件服务器SASL TLS 反垃圾邮件系统
  17. C -- OC with RunTime
  18. keil(MDK)中出现error: #513:
  19. 串联谐振耐压试验装置技术参数和特点,如何选择
  20. 使用C#中的CultureInfo类实现全球化

热门文章

  1. 王小二C:一个大神的Android成长之路
  2. 递推算法题:王小二刀工之王小二切大饼
  3. 游戏设计师修炼之道:数据驱动的游戏设计
  4. 大数据用户画像实战之业务数据调研及ETL
  5. 你一直在找的 Mac 系统优化工具,可能就是这一款!
  6. Fireeye Mandiant 2014 安全报告 Part2
  7. 【潇湘菌子】Centos下YAPI安装
  8. python 首字母大写
  9. 车联网 python_【车联网系统】基于Python实现的现网全自动化测试方案
  10. 个人珍藏的MLDN李兴华J2EE视频教程(纳米盘下载)