python-tk身份证读取页面编写
业务需求:集成华视电子身份证读取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身份证读取页面编写相关推荐
- python读二进制格点雷达基数据_radar: 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取...
radar-core 介绍 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取 包括读取分层ppi.插值到等经纬度的网格化ppi以及 cappi.vcs等基本 ...
- java雷达数据解析_radar: 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取...
radar-core 介绍 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取 包括读取分层ppi.插值到等经纬度的网格化ppi以及 cappi.vcs等基本 ...
- python爬虫步骤-黑客基础 编写Python爬虫入门步骤
原标题:黑客基础 编写Python爬虫入门步骤 信息时代,数据就是宝藏.数据的背后隐含着无穷的宝藏,这些宝藏也许就是信息量所带来的商业价值,而大数据本身也将成为桌面上的筹码. 黑客花无涯 带你走进黑客 ...
- python 读取文件读出来是什么格式-深入学习python解析并读取PDF文件内容的方法...
这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...
- python中读取文件内容-深入学习python解析并读取PDF文件内容的方法
这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...
- python xlrd读取excel-使用Python xlrd模块读取Excel格式文件的方法
这是一篇关于如何使用Python xlrd模块读取Excel格式文件的方法的文章,下面的python代码中使用 了xlrd模块的方法,这样就能够很方便的读取 excel 文件内容.同是这个xlrd模块 ...
- Python通过WMI读取主板BIOS信息
Windows Management Instrumentation (WMI,Windows管理规范) 是Web-Based Enterprise Management (WBEM)的Windows ...
- python数据可视化读取excell文件绘制图像详细教程
python数据可视化读取excell文件绘制图像详细教程 python数据可视化 python库中的基本用法 import pandas as pd # 调用pandas库 来读取excell的文件 ...
- 华视电子vue身份证读取
一.华视电子官网下载程序包 官网地址 二.安装 安装Windows程序安装完成以后会在文件夹内自动生成一个(100UD开发包(Windows))开发包文件夹 打开此文件夹 打开USB驱动安装64位操作 ...
最新文章
- Matlab编程与数据类型 -- 循环控制语句之二:while/end
- 美多商城之用户注册(用户注册业务实现)
- 1 代码_给你代码:Workbox介绍(1)
- 多态部分作业 3..创建Rodent(啮齿动物):Mnouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)
- adb启动失败 ADB server didn't ACK
- mysql 有两种数据库引擎发音
- load data详解
- python每行输出30个字_python_30期【for循环】
- mysql 用户密码md5_使用MD5编码实现数据库用户密码字段的加密
- 黑马程序员_Java基础面向对象
- VS Code远程连接矩池云GPU主机
- Postfix:邮件系统常见错误代码解释
- c语言funcode空格消失的函数,funcode海底世界练习c语言
- [阅读笔记]《解析卷积神经网络_深度学习实践手册》魏秀参著
- 夜深人静写算法(二)- 动态规划
- 邮件服务器SASL TLS 反垃圾邮件系统
- C -- OC with RunTime
- keil(MDK)中出现error: #513:
- 串联谐振耐压试验装置技术参数和特点,如何选择
- 使用C#中的CultureInfo类实现全球化