python
stephenhendery
志不坚则智不达
展开
-
Python color logging
python自带颜色的logging模块原创 2022-05-11 20:29:37 · 491 阅读 · 0 评论 -
python实现线程池并可自动拓展和减小线程数
Python通过queue实现线程池处理任务,通过事件信号对线程进行控制,可扩充和减小线程池。原创 2021-11-25 20:41:31 · 704 阅读 · 0 评论 -
python tkinter
1.Tkinter 之TopLevel顶级窗口2.TKinter之菜单3.弹出对话框4.Checkbutton5.网格中左对齐标签和输入框6.界面之颜色原创 2021-07-15 16:00:15 · 97 阅读 · 0 评论 -
Python3 执行系统命令并获取实时回显功能
@staticmethoddef __external_cmd(cmd, code="utf8"): print(cmd) process = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) while process.poll() is None: line = process.stdout.readline() .原创 2021-07-15 15:25:04 · 1596 阅读 · 0 评论 -
python pytest 单元测试
pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序。适合从简单的单元到复杂的功能测试l模块化parametrizeable装置(在2.3,持续改进) l参数化测试函数(用例) l标记测试功能与属性 lSkip和xfail:处理不成功的测试用例(在2.4改进) l通过xdist插件分发测试到多个CPU l不断地重新运行失败的测试 l灵活约定的Python测试发现HomePage:http://pytest.org安装 ...原创 2021-07-15 15:05:13 · 289 阅读 · 0 评论 -
python wxPython
1. wxPython 基本框架与运行原理2. wxPython 布局管理3. 编辑框组件介绍4. TextCtrl介绍,Textctrl回车事件原创 2021-07-15 13:54:20 · 132 阅读 · 0 评论 -
python PyQt5 安装使用相关
PyQt5和PySide2背景介绍1. 安装2. 教程,教程23. Qt designer生产的UI文件转换为py文件4. 相关控件使用 -- 控件操作介绍 1. 如何设置复选按钮 2. QRadioButton 3. 下拉列表框QCombox 4. 主窗口弹出新窗口 5.QTabWidget隐藏某些tab 6. QThread应用 7. Layout使用 ...原创 2021-07-15 13:36:40 · 233 阅读 · 0 评论 -
python json 模块
JSON(javaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它基于ECMAScript(w3c组织制定的JS规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。后缀为.json的文件通常为json配置文件。{ "xdd":[ { "name":"tom", "age": 18 }, { "name"...原创 2021-07-15 16:20:06 · 88 阅读 · 0 评论 -
python 代码执行顺序
1.python程序是顺序执行的,而C++中main()是程序的入口#test1print ("test1")def Fun(): print ("Fun")def main(): print ("main") Fun()if __name__ == '__main__': main()'''test1mainFun'''2.一段python程序以py文件运行时,文件属性__name__为main;作为模块导入时,文件属性__name__为文件名.原创 2021-07-14 14:03:04 · 1439 阅读 · 0 评论 -
python 退出程序
1. sys.exit()执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法。该方法中包含一个参数status,默认为0,表示正常退出,也可以为1,表示异常退出。该方法引发的是一个SystemExit异常(这是唯一一个不会被认为是错误的异常),当没有设置捕获这个异常将会直接退出程序执行,当然也可以捕获这个异常进行一些其他操作。2. os._exit()效果也是直接退出,不会抛出异常,但是其使用会受到平台的限制,但我们常用的W原创 2021-07-14 13:38:06 · 834 阅读 · 0 评论 -
python __init__方法和__new__方法
转载自:https://blog.csdn.net/qq_33033815/article/details/1093533801.首先用法不同 new()用于创建实例,所以该方法是在实例创建之前被调用,它是类级别的方法,是个静态方法;init() 用于初始化实例,所以该方法是在实例对象创建后被调用,它是实例级别的方法,用于设置对象属性的一些初始值。由此可知,new()在__init__() 之前被调用。如果__new__() 创建的是当前类的实例,会自动调用__init__()函数,通过..原创 2021-07-14 10:36:53 · 324 阅读 · 0 评论 -
python 获取当前执行文件路径
import os# __file__ 为当前执行的文件#当前文件路径print(os.path.realpath(__file__))#当前文件所在的目录,即父路径print(os.path.split(os.path.realpath(__file__))[0])#找到父路径下的其他文件,即同级的其他文件print(os.path.join(proDir,"config.ini"))...原创 2021-07-13 11:15:33 · 4790 阅读 · 0 评论 -
python 多线程
多线程介绍-- 非常详细多线程锁机制介绍多线程加锁方式以上均为链接,看到比较好的文章,这里做个记录,方便查找。原创 2021-07-13 11:10:17 · 83 阅读 · 0 评论 -
python 面向对象--封装、继承、多态
基础知识介绍1. 封装封装是指将数据与具体操作的实现代码放在某个对象内部,使这些代码的实现细节不被外界发现,外界只能通过接口使用该对象,而不能通过任何形式修改对象内部实现,正是由于封装机制,程序在使用某一对象时不需要关心该对象的数据结构细节及实现操作的方法。使用封装能隐藏对象实现细节,使代码更易维护, 同时因为不能直接调用、修改对象内部的私有信息,在一定程度上保证了系统安全性。 类通过将函数和变量封装在内部,实现了比函数更高一级的封装。 class Student: classr原创 2021-07-12 14:09:31 · 213 阅读 · 0 评论 -
python logging模块
基本使用介绍:https://blog.csdn.net/pansaky/article/details/90710751日志回滚介绍:https://www.cnblogs.com/andy9468/p/8378492.html原创 2021-07-12 13:50:26 · 132 阅读 · 1 评论 -
python eval函数
eval() 函数用来执行一个字符串表达式,并返回表达式的值。>>> eval('pow(2,2)')4>>> eval('2 + 2')4>>> n=81>>> eval("n + 4")85原创 2021-07-12 13:38:12 · 87 阅读 · 0 评论 -
python 定时任务实现
1.APScheduler是基于Quartz的一个Python定时任务框架。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务APScheduler有四大组件:1、触发器 triggers :触发器包含调度逻辑。每个作业都有自己的触发器,用于确定下一个任务何时运行。除了初始配置之外,触发器是完全无状态的。有三种内建的trigger:(1)date: 特定的时间点触发(2)interval: 固定时间间隔触发(3)cron: 在特定时间周期性地触发2、任务储存器 .原创 2021-07-12 13:29:08 · 544 阅读 · 0 评论 -
python pip 国内镜像
Python安装模块使用的镜像默认是国外的,因为网络问题,下载比较慢,还经常会下载失败,建议使用国内镜向。pip install PyQt5 -i https://pypi.douban.com/simple原创 2021-03-29 11:07:02 · 134 阅读 · 0 评论 -
python 类中的变量、方法
一. python 类中的变量分为类变量,实例变量,self# coding:utf-8class A(object): date = '20201215' # 类变量 def __init__(self): self.name = 'Stephen' # 实例变量 def __str__(self): return self.date + ' ' + self.namenew = A()p原创 2020-12-15 15:11:29 · 6311 阅读 · 0 评论 -
python2,python3定义类Class, Class(), Class(object)的区别
1. Python2ClassA 和ClassA() 一致,称为经典类(旧式类)old-style(classic-style),生成的类的type就是 < type ‘classobj’ >ClassA(object):申明新式类, 它的type是 < type ‘type’ >继承object类主要目的是便于统一操作。在python 3.X中已经默认继承object类class A: passtype(A)<type 'classobj'&.原创 2020-12-15 14:01:03 · 1713 阅读 · 0 评论 -
python 代码规范,命名规则 -- 写好python
1. 模块命名模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况) 因为很多模块文件存与模块名称一致的类,模块采用小写,类采用首字母大写,这样就能区分开模块和类# 正确的模块名import decoderimport html_parser2. 类命名类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头class AnimalFarm(Farm): pass3. 函数命名函数名一律小写,如有...原创 2020-12-15 08:57:44 · 27035 阅读 · 0 评论 -
python 实现原地刷新的方式,例如实时进度百分比
1. sys.stdoutimport syssys.stdout.write('\r' + '你的输出详情')sys.stdout.flush() 2. printprint('\r' + '你的输出详情', end='', flush=True)示例:import sysimport timefor i in range(101): # 方式1 sys.stdout.write('\r' + str(i)) sys.stdout.fl..原创 2020-12-14 14:43:40 · 2781 阅读 · 1 评论 -
python执行Linux命令的几种方法
1. os.system(cmd)返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256/512表示未找到,该方法适用于shell命令不需要输出内容的场景。os.system(cmd)会启动子进程,在子进程中执行cmd,如果cmd有执行内容,会在标准输出显示。>>> import os>>> val = os.system('pwd')/home/stephen>>> print val0>原创 2020-12-14 14:33:05 · 6767 阅读 · 0 评论 -
python 中的[:-1]和[::-1]
b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象a = [0,1,2,3,4,5,6,7,8,9]b = a[1:3] #[1,2]当i缺省时,默认为0,即 a[:3]相当于 a[0:3]当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]当i,j都缺省时,a[:]就相当于完整复制一份ab = a[i:j:s]表示:i,j与上面的一样,但s表示步进,缺省为1.所以a[i:j:1]相当于a[i:j]当s<0时,i缺省时,默认...原创 2020-12-14 11:47:20 · 324 阅读 · 0 评论 -
Python如何打包EXE可执行文件
一、安装Pyinstallerpip install PyInstaller二、打包控制台程序切换到.py文件所在路径,然后使用pyinstaller -F Test.py命令进行打包打包成功的exe位于目录下的dist文件夹中,直接双击即可运行。三、打包GUI程序切换到.py文件所在路径,然后使用pyinstaller --paths C:Users......Python37/Lib/site-packages/PyQt5/Qt/bin -F -w --icon=note.ic.原创 2020-12-14 11:43:46 · 242 阅读 · 0 评论 -
python __init__.py作用
1. 标识该目录是一个python的模块包(module package)2. 简化模块导入操作如果目录中包含了__init__.py时,当用 import 导入该目录时,会执行__init__.py里面的代码。2.2 控制模块导入3. 配置模块的初始化操作详情可参考...原创 2020-12-14 11:32:18 · 139 阅读 · 0 评论 -
Python中ctypes的使用整理
ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数。ctypes的官方文档在这里。1. ctypes基本数据类型映射表参数类型预先设定好,或者在调用函数时再把参数转成相应的c_***类型。ctypes的类型对应如下:ctypes type C type Python Type c_char char 1-character string c_wchar wchar_t 1-character u.原创 2020-12-15 08:58:13 · 5372 阅读 · 0 评论 -
python读取xml内容
import os,sysimport xml.dom.minidomdef main(): map_data = [] print "Begain parse the %s!"%FILENAME os.chdir(SRC_PATH) ### 一级标签 dom = xml.dom.minidom.parse(FILENAME) f_sstdm原创 2018-01-13 15:27:37 · 902 阅读 · 0 评论 -
python中FTP功能实现
from ftplib import FTP### FTP setting:host = 'x.x.x.x'username = 'user'password = 'mima'remotepath = '/home/user/'def upload_ftp(filepath): f = FTP(host) f.login(username,password)原创 2018-01-13 16:02:23 · 333 阅读 · 0 评论 -
python 实现全局变量
1. 问题:count = 0def Fuc(count): print count count += 1for i in range(0, 10): Fuc(count)>>> 00000000002. 全局变量:global aa = 3def Fuc(): global a print a a =转载 2018-01-14 10:27:17 · 417 阅读 · 0 评论 -
python中index()、seek()、range()、reversed()
1. index()功能:在序列中检索参数并返回第一次出现的索引,没找到就会报错。t = ('A','1','1','e','n')t.index('e')3t.index('1')1完整语法: string.index(str,beg=0,end=len(string))str - 指定检索的字符串beg - 开始索引,默认为0end - 结束索引,默认为字符原创 2018-01-13 19:32:36 · 3155 阅读 · 0 评论 -
python 删除列表中元素
1. del 删除列表中指定位置上的元素l = [1,2,3,4,5]del l[2] -> [1,2,4,5]del l -> 删除整个列表当要用del循环删除元素时,应当倒序删除,否则下标会发生变化;2. pop 删除并返回指定位置上的元素l = [1,2,3,4,5]l.pop(len(l)-1) -> 5 和l.pop()效果相同l.pop(3)原创 2018-01-13 10:54:53 · 2771 阅读 · 0 评论 -
python 判断路径是文件还是文件夹、判断是否存在、获取文件大小
#### 判断是文件还是文件夹import osif os.path.isdir(path): print "it's a directory"elif os.path.isfile(path): print "it's a normal file"else: print "it's a special file(socket,FIFO,device file)"原创 2018-01-13 09:37:08 · 88927 阅读 · 0 评论 -
python 类型转换与数值操作
1. 类型转换1.函数 描述 2.int(x [,base ]) 将x转换为一个整数 3.long(x [,base ]) 将x转换为一个长整数 4.float(x ) 将x转换到一个浮点数 5.complex(real [,imag ]) 创建一个复数 6.str(x )转载 2018-01-17 09:16:57 · 4235 阅读 · 0 评论 -
python 配置文件 ConfigParser 应用
import ConfigParserdef get_cfg_value(prd): cf = ConfigParser.ConfigParser() cf.read(Cfg_File) opts = cf.options("product id") if prd.lower() in opts: match_prd = cf.get("prod原创 2018-01-17 09:17:10 · 247 阅读 · 0 评论 -
python 字符串分割,组合
1. split 方法str = "123 456 78"list = str.split()print list['123','456','78']str1 = "123,456,78"list1 = str1.split(',')print list1['123','456','78']2. re 模块split方法可以实现指定多个字符分割字符串,用 | 分隔原创 2018-01-17 09:17:32 · 1029 阅读 · 0 评论 -
python 之 字典、有序字典
python 字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典由键和对应值成对组成。字典也被称作关联数组或哈希表。* 有序字典(OrderedDict):>>> from collections import OrderedDict>>> a=OrderedDict({})>>> aOrderedDict()>>> a['a'] =1>>原创 2018-01-26 10:41:26 · 1314 阅读 · 0 评论 -
python 之 函数,类,模块
一 函数:程序中重用代码-----定义函数, def 函数名(函数):示例: #!/usr/bin/pythondef MyFunction(name): print "this is my first function:%s"%nameMyFunction("functionName")this is my first function:fuctionName也可以讲原创 2018-01-25 15:47:53 · 1982 阅读 · 0 评论 -
python 之 split
1. split 函数: str.split(str="",num=string.count(str))[n] str: 表示为分隔符,默认为空格。若字符串中没有分隔符,则把整个字符串作为列表的一个元素。num: 表示分割次数。如果存在参数num,则仅分割成num+1个字符串。[n]: 表示选取第n个分片。注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略。2. os原创 2018-02-02 10:44:43 · 337 阅读 · 0 评论 -
Django中request.GET和request.POST的区别
在Django 的view.py中定义了request参数,可以读取request.method确定POST和GET。详细介绍:参考博客POST和GET差异:1. POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。另外,还有PUT和DELETE方法。2. POST和GET都可以与服务器完成查,改,增,删操作。转载 2018-01-20 13:28:36 · 8409 阅读 · 0 评论