Python
文章平均质量分 66
Gordennizaicunzai
这个作者很懒,什么都没留下…
展开
-
python Tkinter 复选框Checkbutton是否被选中判断
定义一个BooleanVar型数据进行获取复选框状态。>>> import tkinter as tk>>> >>> window = tk.Tk()>>> var = tk.BooleanVar()>>> def get_var(): print(var.get()) >>> cb = tk.Checkbutton(window, text="debug", variable=原创 2022-01-27 23:09:26 · 3118 阅读 · 0 评论 -
Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
一、前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅。 一、前言 二、Tkinter 是什么 三、Tkinter 控件详细介绍 1. Tkinter 模块元素简要说明 2. 常用窗口部件及简要说明: 四、动手实践学习 1. 创建主窗口及Label部件(标签)创建使用 2. Button窗口部件 3. Entry窗口部件 4. Text窗口部件 5转载 2021-12-04 21:08:48 · 2706 阅读 · 1 评论 -
硬编码tkinter的图标而不依赖于外部文件(不生成临时图标文件)
因为利用tkinter库一般都是做GUI的,所以完成的产品都希望能够打包发布。但是利用pyinstaller打包发布后,图标文件是没有包含的。虽然也可以通过修改pyinstaller的参数的方式将图标文件封装进去,但是这里采用一种更直接的方式:直接将图片编码在源代码中。网上有的博客教的,需要生成临时的图标文件再删去,我觉得这样非常不优雅。所以这里我不会采用这种方法。tkinter的默认图标(一个小羽毛):一般的更换图标的方法我们先保存一个icon.ico的图标文件。文件如图:..转载 2021-12-04 20:55:12 · 612 阅读 · 1 评论 -
从源码看Flask框架配置管理
1 引言Flask作为Python语言web开发的三大顶梁柱框架之一,对于配置的管理当然必不可少。一个应用从开发到测试到最后的产品发布,往往都需要多种不同的配置,例如是否开启调试模式、使用哪个数据库等等,这些配置都可能因开发阶段和环境而异。2 Flask配置类:Config为了达到对配置方便快捷而又灵活管理的目的,Flask提供了一个名为“config的”属性,这个属性在Flask应用实例化时创建,所以,只要创建了Flask应用,就可以使用这个config属性进行配置管理。我们先创建一个F.转载 2021-02-07 20:22:43 · 323 阅读 · 0 评论 -
python key=lambda 元素: 元素[字段索引]用法
key=lambda 元素: 元素[字段索引]x:x[]字母可以随意修改,比如改成y:y[]也行,排序方式按照中括号[]里面的维度进行排序,[0]按照第一维排序,[1]按照第二维排序,[2]按照第三维排序,依此类推。如二维:class Solution: @staticmethod def test(lst): res1 = min(lst, key=lambda x: x[0]) print(res1) res2 = max(l原创 2021-01-31 21:33:39 · 2363 阅读 · 0 评论 -
使用concurrent.future.ThreadPoolExecutor时注意事项
最近写了一个压力测试脚本,做的事情很简单就是不断发送REST API给服务器,发现跑一段时间以后机器就卡死了,检查发现原来内存被占用光了,这里代码简化如下:from concurrent import futuresimport timedef work(): time.sleep(2)if __name__ == '__main__': pool = futures.ThreadPoolExecutor(128) while 1: pool.su.转载 2021-01-10 21:13:32 · 766 阅读 · 0 评论 -
python 中杀进程 , 线程 ,杀端口
杀线程:import threadingimport timeimport inspectimport ctypes def _async_raise(tid, exctype): """raises the exception, performs cleanup if needed""" tid = ctypes.c_long(tid) if not inspect.isclass(exctype): exctype = type(exctype转载 2020-11-22 21:25:22 · 275 阅读 · 0 评论 -
python基于flask-socketio实现WebSocket消息广播(发布订阅模式)——贰
场景在应用中可能有一中场景,客户端A只需要发布消息,另一头多个客户端只需要接收客户端A发过来的消息,即发布订阅模式。也可用于大屏展示端,客户端只负责发布推送内容,广播接收端则进行消息接收。因此在flask应用内,通过引入flask-socketio实现站内WebSocket消息广播。各网页接收广播消息并动态刷新页面。为便于观察,我们通过向服务端发送"/push?msg=test" http 请求,触发站内广播;并通过Flask-SocketIO的广播模式,将广播信息通过WebSocket接口发送到客户端转载 2020-11-22 21:13:11 · 1855 阅读 · 0 评论 -
python 字节串及10进制、16进制相关转换
进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等整数之间的进制转换:10进制转16进制: hex(16) ==> 0x10 16进制转10进制: int('0x10', 16) ==> 16类似的还有oct(), bin()字符串转整数:10进制字符串: int('10') ==> 10 16进制字符串: int('10', 16) ==> 16 16进制字符串: int('0x10', 16...转载 2020-08-07 08:03:42 · 3871 阅读 · 0 评论 -
浅谈Python traceback的优雅处理
这篇文章主要介绍了浅谈Python traceback的优雅处理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。刚接触Python的时候,简单的异常处理已经可以帮助我们解决大多数问题,但是随着逐渐地深入,我们会发现有很多情况下简单的异常处理已经无法解决问题了,如下代码,单纯的打印异常所能提供的信息会非常有限。def func1(): raise Exception("--func1 exception--")def main(): try: fu转载 2020-07-09 21:03:05 · 218 阅读 · 0 评论 -
python判断字符串为10进制数
python字符串常用的判断函数很多,有如下8种,可惜没有能直接判断字符串是否为10进制数的函数数,但是实际工作中我们会遇到需要判断字符串是否为10进制数的场景。1、str.isalnum() 所有字符都是数字或者字母2、str.isdecimal() 所有字符都是十进制数字3、str.isdigit() 所有字符都是数字4、str.isalpha() 所有字符都是...原创 2020-04-19 17:51:22 · 1834 阅读 · 0 评论 -
python的decimal
Python自带的decimal模块用于十进制数学计算,它是在浮点类型的基础上设计的,可以非常精确地在计算机中存储和计算,精度优于floating point,因为浮点数并不能精确的表示十进制数,因为计算机由底层CPU和IEEE 754标准通过自己的浮点单位去执行算术时的特征,因此对于精度要求高但效率不要求的场景,比如财务等,decimal可以较好的替换float类型。 ...原创 2020-03-15 23:51:20 · 983 阅读 · 0 评论 -
python round()函数四舍五入
Help on built-in function round in module builtins:round(number, ndigits=None) Round a number to a given precision in decimal digits.将一个数字四舍五入到给定的十进制精度。 The return value is an integer i...原创 2020-02-23 22:21:54 · 1136 阅读 · 0 评论 -
Python csv模块
CSV(Comma-Separated Value)逗号分隔值,与专有的二进制文件格式不同,CSV通常用于在电子表格软件和纯文本之间交互数据。实际上,CSV都不算是一个真正的结构化数据,CSV文件行以换行符分割,列用逗号、分号、冒号等分隔,但是只有用逗号作为分隔符时在excel打开才正常。CSV文件易于读取和管理,并且尺寸较小,因此相对较快地进行处理和传输,因此在软件应用程序中得到...原创 2020-02-20 19:29:07 · 281 阅读 · 0 评论 -
Python concurrent.future线程池和进程池
concurrent.futrues是个高级的的库,它只在“任务”级别进行操作,意思是你不需要关注同步和线程、进程的管理了。Future 其实是生产-消费者模型的一种扩展,在生产-消费者模型中,生产者不关心消费者什么时候处理完数据,也不关心消费者处理的结果。你只需要指定一个“max_workers”数量的线程/进程池,然后提交任务和整理结果即可,另一个好处是相对于threading...原创 2020-02-18 18:55:43 · 831 阅读 · 1 评论 -
python获取列表元素的索引值的方法
1、python列表的index()函数返回元素的索引,如果元素不存在,则引发ValueError。lst = [10, 11, 12, 13, 14, 15, 20, 30, 40, 50]>>> lst[10, 11, 12, 13, 14, 15, 20, 30, 40, 50]>>> lst.index(10)0>>&...原创 2020-01-20 22:42:45 · 39462 阅读 · 1 评论 -
Python之面向对象与类
本节内容面向对象的概念 类的封装 类的继承 类的多态 静态方法、类方法 和 属性方法 类的特殊成员方法 继承层级关系中子类的实例对象对属性的查找顺序问题一、面向对象的概念1. "面向对象(OOP)"是什么?简单点说,“面向对象”是一种编程范式,而编程范式是按照不同的编程特点总结出来的编程方式。俗话说,条条大路通罗马,也就说我们使用不同的方法都可以达到最终的目的,但是有些办...转载 2019-10-29 22:10:48 · 316 阅读 · 0 评论 -
Python中的字符串与字符编码
本节内容:前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换一、前言Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章。有的人云亦云,也有的写得很深入。近日看到某知名培训机构的教学视频中再次谈及此问题,讲解的还是不尽人意,所以才想写这篇文字。一方面,梳理一下相关知识,另一方面,希望给其他人些许帮助。P...转载 2019-10-29 21:47:04 · 243 阅读 · 0 评论 -
Python之日志处理(logging模块)
本节内容日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日志输出中添加上下文信息 参考文档一、日志相关概念日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事...转载 2019-10-29 21:45:24 · 194 阅读 · 0 评论 -
Python之系统交互(subprocess)
本节内容os与commands模块 subprocess模块 subprocess.Popen类 总结我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell。那么我们如何通过Python来完成这些命令行指令的执行呢?另外,我们应该知道的是命令行指令的执行通常有两个我们比较关注的结果:命令执行的状态码--表示命令执行是否成功 命令执行的输出结...转载 2019-10-29 21:39:44 · 261 阅读 · 0 评论 -
Pylint在项目中的使用
需求背景:Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准和有潜在问题的代码。Pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等。Pylint 的一个很大的好处是它的高可配置性,高可定制性,并且可以很容易...转载 2019-10-29 21:31:21 · 395 阅读 · 0 评论 -
python time模块
在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。在开始之前,首先要说明这几点:在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各转载 2017-04-09 00:46:39 · 501 阅读 · 0 评论 -
python while刷博
init_varwhile condition: statement modify_var etc.else: statement etc.while的判定条件语句布尔表达式 True False关系表达式 逻辑表达式 and or notPython 2.7.3 (default, Apr 10 2012, 23:3原创 2017-04-09 01:02:53 · 484 阅读 · 0 评论 -
Python变量解析
1、Python变量名可以包含字母、数字和下划线(_),变量不能以数字开头。2、Python数据类型不需要指定type。3、Python变量的“变”是指向,id。Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "原创 2017-04-04 14:20:08 · 846 阅读 · 0 评论 -
windows系统python安装httplib2
1、第三方函数库httplib2下载地址:https://pypi.python.org/pypi/httplib2/ 下载最新版本,比如httplib2 0.10.3。2、解压httplib2-0.10.3.tar.gz到某目录。3、配置python在dos下的运行环境。4、在dos下安装httpLib2模块。运行cmd,cd到httplib2-0.10.3的解压后文件夹h原创 2017-04-04 22:45:17 · 4310 阅读 · 0 评论 -
urllib和webbrowser使用
第三方提供函数库urllib和webbrowser使用,urllib访问网页,webbrowser调用浏览器,对浏览器进行操作。Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more原创 2017-04-04 23:09:55 · 994 阅读 · 0 评论 -
Python调用(运行)外部程序
在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码。为了更好地控制运行的进程,可以使用win32process模块中的函数。如果想进一步控制进程,则可以使用ctype模块,直接调用kernel32.dll中的函数。1 使用os.system函数运行其他程序2 使用ShellExecute函转载 2017-05-01 17:37:08 · 868 阅读 · 0 评论 -
python函数
函数代码块以def关键词开头,后接函数标识符名称、圆括号()和:,任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数,也可以不定义任何形参。函数主体以Tab缩进。函数结束时可以return参数也可以不返回,如果返回可以返回1个参数也可以返回多个参数。不返回参数:>>> #def function_name(parameters):>>> #stateme原创 2017-04-09 15:38:08 · 470 阅读 · 0 评论 -
Python for 循环
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> #Python for 循环>>> #>>> #for target in sequence原创 2017-04-08 23:15:46 · 5722 阅读 · 0 评论 -
Python的静态方法和类成员方法
Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的:静态方法无需传入self参数,类成员方法需传入代表本类的cls参数;从第1条,静态方法是无法访问实例变量的,而类成员方法也同样无法访问实例变量,但可以访问类变量;静态方法有点像函数工具库的作用,而类成员方法则更接近类似Java面向对象概念中的静态方法。实现静态方法和类方法的两种方式一转载 2017-07-05 23:03:42 · 647 阅读 · 0 评论 -
Python常用系统库str、math、os、socket
Python常用系统库str、math、os、socket。Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.####################原创 2017-04-04 17:37:04 · 1155 阅读 · 0 评论 -
Python字符串基础
一、定义:字符串是有序的字符序列集合。字符串基本上就是一组单词,为常量,不可变。使用‘’、“”或三引号'''或"""表示。二、类型:1、转义字符串: 假设你想要在一个字符串中包含一个单引号('),那么你该怎么指示这个字符串?例如,这个字符串是What's your name?。你肯定不会用'What's your name?'来指示它,因为Python会弄不明白这个字符串原创 2017-07-24 22:40:44 · 433 阅读 · 0 评论 -
Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
【问题】 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not match any outer indentation level【解决过程】 1.对于此错误,最常见的原因是,的确没有对齐。但是我根据错误提示的行数,去代码中看了下,没啥问题啊。转载 2017-08-12 17:27:54 · 678 阅读 · 0 评论 -
Python数据结构之序列
一、定义: Python中最基本的数据结构是序列(sequence)。序列的每个元素被分配一个序号,叫做元素的位置,也称为索引,且规定第一个索引是0,第二个是1,依次类推。在Python中包含了6种內建的序列:字符串、Unicode字符串、列表、元祖、buffer对象和xrange对象。二、序列的通用操作:1、索引(访问单个元素) 序列中所有元素都有编原创 2017-08-12 22:18:10 · 685 阅读 · 0 评论 -
python字符串分割
常用strip()去除字符串string首尾空格,在用split(‘XX’)将字符串string分成字符串列表。e.g:>>> s1 = ' 123||456ab||789|| kd290b ' * 2>>> print s1 123||456ab||789|| kd290b 123||456ab||789|| kd290b >>> def separate原创 2017-08-05 18:01:49 · 3760 阅读 · 0 评论 -
Python字符串常用函数
一、len(),计算字符串长度。>>> help(len)Help on built-in function len in module __builtin__:len(...) len(object) -> integer Return the number of items of a sequence or mapping.>&...原创 2017-07-26 00:00:04 · 583 阅读 · 0 评论 -
17个新手常见Python运行时错误
当初学 Python 时,想要弄懂 python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”)该错误将发生在类似如下代码中:转载 2017-08-13 21:22:09 · 414 阅读 · 0 评论 -
Python数据结构之映射(內建字典)
一、定义 Python中映射是通过名字来应用值的一种数据结构。而字典是python中唯一內建的映射类型。字典由多个键及与其对应的值构成的键--值对(也称为项)组成。键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键--值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。键值在字典中没有特殊的顺序,但都是存原创 2017-08-20 22:12:21 · 1266 阅读 · 0 评论 -
Python模块
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。例子下例是个简单的模块 support.py:supp转载 2017-09-03 19:16:45 · 329 阅读 · 0 评论 -
Python中的类
一、定义 类是一种对象,与其它语言一样,所有的对象都属于某一个类,称为类的实例(instance)。python中类名习惯用单数名词表示,且首字母大写。对象可以看做是数据(特性)以及由一系列可以存取、操作这些数据的方法所组成的集合。对象的优点:1、多态(polymorphism):意味着可以对不同的类的对象使用同样的操作,它们会像被“施了魔法一般”工作。2、封装(encapsulation):对外部世界隐藏对象的工作细节。3、继承(inheritance):以通用的类为基础建立专门的类原创 2017-08-26 11:47:33 · 656 阅读 · 0 评论