可视化界面程序,本来不想写,只在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. Java 10 种常用第三方服务

    严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的.就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的. Jav ...

  2. 题解:[COCI2011-2012#5] BLOKOVI

    题解:[COCI2011-2012#5] BLOKOVI Description PDF : https://hsin.hr/coci/archive/2011_2012/contest5_tasks ...

  3. oh my zsh 常用插件

    date: "2020-10-18T12:36:00+08:00" title: "oh my zsh 常用插件" tags: ["zsh" ...

  4. spring boot:用zxing生成二维码,支持logo(spring boot 2.3.2)

    一,zxing是什么? 1,zxing的用途 如果我们做二维码的生成和扫描,通常会用到zxing这个库, ZXing是一个开源的,用Java实现的多种格式的1D/2D条码图像处理库. zxing还可以 ...

  5. centos8平台使用ip命令代替ifconfig管理网络

    一,为什么建议使用ip命令代替ifconfig? 1,ifconfig所属的net-tools包已经不再被维护了 虽然可以用,但会发生看不到部分ip等情况, [root@centos8 liuhong ...

  6. C++ Primer第5版 第一章课后练习

    练习1.9 #include <iostream> int main() { int sum = 0, val = 50; while (val <= 100) { sum += v ...

  7. 圆形进度条的模仿3-DrawArc,DrawCircle,DrawText,自定义属性实例讲解

    前面两篇中已经讲过如何使用drawARC,等,画其他的图形的方法的使用也是一样的,只是参数不同, 同时也讲了如何通过xml进行自定义属性,接下来这篇便是通过实例讲解如何实地应用起来, 效果如下,点击开 ...

  8. 作用域 - Js深入理解笔记

    执行期上下文 当函数执行时,会创建一个称为执行上下文的内部对象 一个执行期上下文定义了一个函数所执行时的环境,函数每次执行时对应的执行上下文都是独一无二的,多次调用一个函数会导致创建多个执行上下文,当 ...

  9. Java中四舍五入保留两位小数

    Java中四舍五入保留两位小数 方法一 四舍五入 double f = 3.15; long res = Math.round(f); #结果 res = 3 保留两位小数 double f = 3. ...

  10. python3异步爬虫 ——aiohttp模板使用

    一.简单使用和讲解 import aiohttp import asyncio async def fetch(client): async with client.get('http://httpb ...