可视化界面程序,本来不想写,只在console台运行就好,但是后来很多小伙伴都有这样的需求:

需要从redis中删除某个key的value,然后需要跟key去查,有些小伙伴不会用redis,就产生如下的产物。

可以看出main后面的tk对象,Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。其他的没啥特别的嘱咐,导入模块后,创建控件,指定控件的master,告诉GM(geometry manager)有个控件产生了,这里就不讲控件排版了,我实在审美不好……

# coding=utf-8
'''
Created on 2018-07-28
updated on 2018-08-06
@author:
Description:封装Redis三条命令,可以清理测试环境短信次数上限 import redis, json
import configparser
from tkinter import *
global phone
''' def connectRedis(): confInfo = configparser.ConfigParser()
confInfo.read('config/config.ini')
redisHost = confInfo.get('redis_45', 'host')
# redis基本操作,消耗资源,每链接一次之后就断开了
# re = redis.Redis(host=redisHost, port=6379, db=4, decode_responses=True),
pool = redis.ConnectionPool(host=redisHost, port=6379, db=XXX, decode_responses=True)
re = redis.StrictRedis(connection_pool=pool)
return re def checkPhone(phoneNum):
# 传phone进来
smsKey = 'uc_user_sms_times_' + str(phoneNum)
print(smsKey)
result_re = connectRedis()
# print()
try:
if result_re.get(smsKey) is None:
print('没有记录,无需清理。')
except Exception as e:
print("获取key对应的内容出错!")
#raise e try:
if result_re.get(smsKey) is not None:
result = json.loads(result_re.get(smsKey)) # smsCodeTimes是短信验证码次数
smsCodeTimes = result['4']['num']
print(smsCodeTimes) #测试环境是10次,线上5次,线上没权限清理,测试环境改了的话就可以改这个参数
if int(smsCodeTimes) == 10:
result_re.delete(smsKey) # 清除成功
print('清除成功!')
else: # 不足次数,可继续使用
print('不足次数,可继续使用!')
except Exception as e:
print("出现未知错误!")
raise e def buttonBut(): phoneNum = phone.get()
checkPhone(phoneNum) if __name__ == '__main__': # 创建窗口对象
mainWindow = Tk()
# 设置窗口大小
mainWindow.geometry('300x200')
# 禁止拖动窗口
mainWindow.resizable(0, 0)
phone = StringVar()
mainWindow.title("限制解除")
Label(mainWindow, text="请正确输入要清除限制的手机号:", padx=10).grid(row=0, sticky=W)
Entry(mainWindow, textvariable=phone).grid(row=1, column=0)
Button(mainWindow, text="清除次数上限", command=buttonBut).grid(row=2, sticky=SE)
mainWindow.mainloop()

  

Python可视化界面的更多相关文章

  1. Python可视化界面编程入门

    Python可视化界面编程入门具体实现代码如所示: (1)普通可视化界面编程代码入门: import sysfrom PyQt5.QtWidgets import QWidget,QApplicati ...

  2. python 可视化界面

    在各类按钮组件里,默认的消息是 “Shall I continue?”,所以你可以不带任何参数地去调用它们. 这里我们演示不带任何参数地去调用 ccbox(),当选择 “cancel” 或关闭窗口的时 ...

  3. docker swarm 集群及可视化界面的安装及配置

    docker swarm 集群及可视化界面的安装及配置 2016-12-14 16:08:46 标签:swarm consul registrator 原创作品,允许转载,转载时请务必以超链接形式标明 ...

  4. mininet实验 可视化界面形成拓扑

    参考博客一 参考博客二 实验目的 mininet中内置了一个mininet可视化工具:miniedit.miniedit在mininet/mininet/examples目录下提供miniedit.p ...

  5. 随机点名可视化界面,记录迟到人员,转exe文件

    随机点名可视化界面,记录迟到人员,转exe文件 一.介绍 对于人员采取随机点名 二.代码 import datetime import random from tkinter import * fro ...

  6. python图形界面(GUI)设计

    不要问我为什么要用 python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,python 图形界面有以下几个可行度比较高的解决方案. 1. py ...

  7. awt可视化界面上传数据到mysql,jsp通过jdbc方式查询数据库,并将结果打印在网页上

    今天尝试写一个小demo实现下之前看过的代码,目的了解不同文件的数据访问,掌握如何获取前台数据,如何将数据库的数据在前端页面展示. awt可视化界面可已实现提交数据到数据库,也可查询数据在控制台打印. ...

  8. GDB-Dashboard-GDB可视化界面

    项目地址 https://github.com/cyrus-and/gdb-dashboard 项目介绍 gdb-dashboard是一个gdb的可视化界面,可以通过web或者终端来现实可视化信息,支 ...

  9. Ubuntu mysql安装,还有可视化界面

    安装mysql sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install lib ...

随机推荐

  1. MeteoInfoLab脚本示例:合并数组

    对于全球数据来说,经度要么是-180 - 180,要么是0 - 360,都会存在边界数据不连续的问题.比如0 - 360的数据,怎么得到 -20 - 30度的连续格点数据就是个问题(跨越了数据的经度边 ...

  2. pytest文档41-参数化 ids 用例描述为中文时控制台输出unicode编码问题(pytest_collection_modifyitems)

    前言 使用 pytest.mark.parametrize 参数化的时候,加 ids 参数用例描述有中文时,在控制台输出会显示unicode编码,中文不能正常显示. 使用 pytest_collect ...

  3. 很多人都搞不清楚C语言和C++的关系!今天我们来一探究竟为大家解惑~

    最近,身边有许多小伙伴已经开始学习编程了,但是呢,学习又会碰到许多的问题,其中作为新手小白提到最多的问题就是编程语言的选择. 每次遇到这种问题,看起来很简单,但是又有很多小伙伴搞不清编程语言之间的关系 ...

  4. 分布式锁结合SpringCache

    1.高并发缓存失效问题: 缓存穿透: 指查询一个一定不存在的数据,由于缓存不命中导致去查询数据库,但数据库也无此记录,我们没有将此次查询的null写入缓存,导致这个不存在的数据每次请求都要到存储层进行 ...

  5. Jmeter创建随机数作为参数使用 转

    1.选项-函数值手对话框:2.选择适当的函数,比如"__Random()":3.输入参数,比如随机数的最大.最小数:4."Name of variable in whic ...

  6. nginx安全:配置网站图片防盗链

    一,为什么要做防盗链? 1,什么是盗链? 比如某人有一个A网站, 他不愿自己存储图片,(因为磁盘和带宽都有成本) 就在自己A网站的页面上直接插入B网站的图片, 从而为自己吸引流量,这就是盗链 2,为什 ...

  7. php生成签名

    // 生成签名private function makeSignature($params){ foreach ($params as $key=>$value){ $arr[$key] = $ ...

  8. 第五章 NFS、rsync等统一用户相关操作

    一.统一用户 1.httpd2.NFS挂载目录3.rsync 1.所有服务器统一创建用户 [root@web01 ~]# groupadd www -g 666[root@web01 ~]# user ...

  9. 【手摸手,带你搭建前后端分离商城系统】03 整合Spring Security token 实现方案,完成主业务登录

    [手摸手,带你搭建前后端分离商城系统]03 整合Spring Security token 实现方案,完成主业务登录 上节里面,我们已经将基本的前端 VUE + Element UI 整合到了一起.并 ...

  10. 3. Distributional Reinforcement Learning with Quantile Regression

    C51算法理论上用Wasserstein度量衡量两个累积分布函数间的距离证明了价值分布的可行性,但在实际算法中用KL散度对离散支持的概率进行拟合,不能作用于累积分布函数,不能保证Bellman更新收敛 ...