
python
文章平均质量分 50
Zz Apollo
心中有梦,筑梦成真
展开
-
aiojobs
作者:Each+ Apollo文章目录1. 理解2. 安装2. 使用1. 理解aiojobs可以构建方便管理的异步任务2. 安装pip install aiojobs2. 使用create_scheduler(close_time=0.1, limit=100, pending_limit=10000, exception_handler=None)exception_handler: 如果出现异常,会调用exception_handler传入的方法,如果没有传入任何方法,会抛出异常报错原创 2021-03-01 21:20:40 · 927 阅读 · 0 评论 -
aiokafka 消息单机版 python
作者:Each+ Apollo文章目录1.kafka1.1. 什么是kafka1.2. 使用docker安装kafka1.3. 测试kafka是否正常2. aiokafka2.1. 简单的理解2.2. 安装2.3. AIOKafkaProducer(**kwargs) 生产者(发消息)2.3.1. 常用参数2.3.2. send_and_wait(topic, **kwargs)生产消息2.3.3. stop() 关闭连接2.3.3. 举个栗子2.4. AIOKafkaConsumer(topic, **原创 2021-03-01 18:32:18 · 2329 阅读 · 0 评论 -
python对象属性ArgumentParser,Namespace
作者: Each+ Apollo文章目录1. ArgumengParser1.1. 作用1.2. 导包1.3. 参数1.4. 属性1.4.1. add_argument(*args, **kwargs)1.4.2. parse_args(args=None, namespace=None)2. Namespace 命名空间2.1. 作用2.2. 导包2.3. 用法1. ArgumengParser1.1. 作用分配属性,可以从python执行命令参数中获取1.2. 导包# pythonfrom原创 2021-02-27 15:57:25 · 1550 阅读 · 0 评论 -
vars 查看对象属性 python
作者:Each+ Apollo目录文章目录目录1.作用2.用法1.作用返回对象的属性和属性值所组成的字典2.用法# pythonclass A: def __init__(self): self.a = 123 self.b = 'ddd' a = A()print(vars(a))# 输出 {'a': 123, 'b': 'ddd'}...原创 2021-02-27 15:55:53 · 141 阅读 · 0 评论 -
setproctitle 修改进程名 python
作者: Each+ Apollo文章目录1. 作用2. 安装3. 导包4. 用法1. 作用修改当前执行的python程序的进程名字,默认的进程名是python使用linux命令可以看到当前在运行的python程序# linuxps -aux | grep python如果我们修改了进程名,那么上面的命令是看不到被修改过的python程序的,要想看到,需要执行ps -aux | grep 修改后的进程名2. 安装# linuxpip install setproctitle3.原创 2021-02-27 15:54:33 · 2051 阅读 · 0 评论 -
functools.partial 锁定参数的函数 python
作者: Each+ Apollo1. 有点类似lambda确定function的参数,并返回该function2. 导包from functools import partial2. 举个栗子def func(a, b, c=None, d=None): print(a, b, c, d) a = partial(func, 1, 2, d=5) # 这个时候,方法func还没有被执行a() # 这个时候才执行了方法func...原创 2021-02-27 15:53:11 · 230 阅读 · 0 评论 -
python解决pip安装慢、pycharm中下载包缓慢、install -r freeze.txt缓慢解决方法(更换镜像资源网址https://pypi.douban.com/simple的方法)
一、pip安装太慢的解决方案只需要更换资源就可以比如我要pip install django只需要在后面跟上douban的镜像资源pip install django -i https://pypi.douban.com/simple二、pycharm中利用IDE自动安装包太慢的解决方案把自带的网址删除,并添加https://pypi.douban.com/simple/三、pip install -r freeze.txt 批量安装包太慢的解决办法和方法一相同,在命令后增原创 2020-11-28 10:25:18 · 10735 阅读 · 0 评论 -
operator.attrgetter函数
operator.attrgetter()使用operator.attrgetter() 来代替lambda 函数>>> from operator import attrgetter>>> sorted(users, key=attrgetter('user_id'))[User(3), User(23), User(99)]attrgetter() 函数通常会运行的快点,并且还能同时允许多个字段进行比较。如果User 实例还有一个first name 和原创 2020-09-28 09:29:38 · 15092 阅读 · 0 评论 -
python的md5摘要(加密)与加盐
转自:https://www.cnblogs.com/zhuhaofeng/p/9567994.htmlpython的hashlib库的md5摘要是不可反解的,非常安全摘要是单项不可逆的加密是可以解密的,是双向的haxdigest hax是16进制,digest是摘要#md5加密是不可反解的import hashlib#实例化对象obj=hashlib.md5() #先创建一个md5的对象#写入要加密的字节obj.update("admin".encode("utf-8"))转载 2020-09-01 15:02:35 · 13983 阅读 · 0 评论 -
celery报连接错误进程守护无法连接Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refuse
一、文章贡献安装rabbitMQ的部分,来自于https://www.jb51.net/article/174857.htm二、报错信息Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refused有的是执行这行代码时报错celery -A celery_tasks.main worker -l info有些是执行上面代码成功连接,但是执行下面进程守护的时候报错celery multi原创 2020-08-14 10:11:48 · 20032 阅读 · 1 评论 -
uwsgi的3个容易掉坑的配置(timeout、harakiri、buffer-size)
我采用的.ini文件[uwsgi]master = truewsgi-file=myppt/wsgi.pyprocesses = 1threads = 2chdir = /www/wwwroot/ppt_jpg/myppt/http = 127.0.0.1:9876virtualenv=/www/wwwroot/ppt_jpg/myppt/ppt_venvdaemonize=uw...原创 2020-02-06 22:39:05 · 31665 阅读 · 7 评论 -
django xadmin修改“管理”“认证和授权”的菜单名
本文目的把xadmin自带的菜单“管理”“认证和授权”的菜单名改成自己想要的。方法先找到电脑里python的xadmin库的目录位置,然后依次找到templates / xadmin / includes / sitemenu_accordion.html文件,打开找到这一行,大概在17行左右{% trans item.title %}修改成如下(==号两边要有空格){% if...原创 2019-11-12 10:40:15 · 15612 阅读 · 0 评论 -
django xadmin 隐藏菜单栏右侧的数字图标标签,或自定义标签
大前提有时候会觉得右侧这数字很多余,不想要,方法如下先找到xadmin库的目录,然后找到templates-xadmin-includes-sitemenu_accordion.html,打开大概在11行,找到这一行,所有的改动都是针对这一行的。<span class="badge badge-info">{{ item.menus|length }}</span>...原创 2019-11-12 10:28:14 · 15109 阅读 · 2 评论 -
django xadmin隐藏顶部“增加”按钮
有时候不想要这个增加按钮,方法如下找到xadmin库的目录,然后依次templates/xadmin/blocks/comm.top.topnav.html,打开这个文件。大概在21行左右,找到这几行{% if add_models %}<li class="dropdown g-add" > <a class="dropdown-toggle" role="but...原创 2019-11-12 09:58:13 · 15033 阅读 · 0 评论 -
API密钥签名认证详解,包含timestamp+nonce方案BY:Zz Apollo
本文举例来说明API签名,并有具体实现流程,规则弄会,一通百通。本文先用一个故事举例,方便理解,然后对整个流程做了逐步分析和局部代码实现,最后把代码整合起来,想直接看整合后代码的可以直接去最底。一、故事引入签名认证原理(不要纠结为什么吃饭这么麻烦- -!) 有家饭店,只对会员开放,小明在饭店注册会员...原创 2019-11-02 12:25:05 · 20515 阅读 · 1 评论 -
关于django xadmin主题不显示和只显示bootstrap2的解决办法
异常:python3的xadmin主题只显示默认和bootstrap2解决办法:慢慢来相信能遇到这个问题的人,都是已经配置好xadmin的,该True的也都写过了首先找到xadmin文件,不会找的自己百度。进入xadmin下的plugins文件夹,打开themes.py文件然后找到这一段,大概在70行最后把if ex_themes:这行改为if len(json...原创 2019-11-01 14:38:16 · 14500 阅读 · 1 评论 -
django2.0之后路由命名namespace问题
以前的写法urlpatterns = [ path('admin/', admin.site.urls), url(r"^users/", include("users.urls", namespace='aaa')),]现在的写法,include中的第一个参数需要是一个二维元祖urlpatterns = [ path('admin/', admin.site.u...原创 2019-10-24 10:49:12 · 14249 阅读 · 0 评论 -
plt、np、pd、talib、scipy、sklearn常用API总结
一、matplotlibimport matplotlib.pyplot as pltplt.figure(figsize=(20, 8), dpi=80) 创建画布fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(), dpi=) 多坐标系plt.savefig(filename) 保存图片plt.plot(x_iter, ...原创 2019-10-24 10:44:46 · 15167 阅读 · 0 评论 -
TCP三次握手四次挥手
TCP的三次握手2.SYN是请求同步的意思,synchronize(同步)的缩写ACK是确认同步的意思,acknowledgement(确认)的缩写TCP是主机对主机层的传输控制协议,提供可靠的连接服务TCP的三次握手第一次握手:(客户端:服务器在吗?)建立连接时,客户端A发生SYN包(SYN=j)到服务器B并进入SYN_SEND状态,等待服务器B确认第二次握手:(服务器:收到了,...原创 2019-04-21 11:49:39 · 13960 阅读 · 0 评论 -
函数简介 for python
一.概念将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集二.作用加强代码的复用性,提高程序编写的效率三.基本语法# 函数定义:形参def 函数名(形参): 函数体 return 结果 # 根据需求决定是否return# 函数调用:实参变量名 = 函数名(实参)四.作用域局部变量:函数内部定义的变量从函数定义位置开始到函数定义结束位置有效全局变量:函...原创 2019-04-19 19:38:02 · 13817 阅读 · 0 评论 -
单例模式for python
控制一个类只能创建出单个实例对象定义的类变量要进行私有化,否则可以通过类名在类的外部访问到对象的判空操作使用is进行判定class User: __instance = None def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = ...原创 2019-04-19 20:01:29 · 13937 阅读 · 0 评论 -
类的相关概念
1.类一系列事物的统称,同类事物必定具有相同的特性,日常事物的特征根据特性分为状态和行为,对应到类中是变量和方法2.类成员成员变量、成员方法的统称3.成员变量用于描述对象的固有状态或属性,也叫公有变量4.成员方法用于描述对象的固有行为,也叫实例方法5.对象类的具体表现形式,是实际存在的个体,也叫实例(instance)6.类和对象的关系一个类可以创建任意个数的对象7.封装...原创 2019-04-19 20:19:12 · 14024 阅读 · 0 评论 -
引用概念for python
1.引用是一种变量指向数据存储空间的现象2.内存地址是数据在物理内存中的存储位置3.引用地址是对象在内存中的描述性地址,该地址与内存地址有区别4.引用特征相同的数据在内存空间中仅占用一个存储空间,不同的变量使用相同的数据则指向相同的存储空间5.地址存储特殊性使用固定内存地址存储数据如下 -5到256的整数 True和False 由字母、数字、下划线组成的字符串使用临时内存...原创 2019-04-19 20:31:00 · 14044 阅读 · 0 评论 -
文件读写操作 for python
格式一# 打开文件file = open("文件名“, ”读写模式“)# 操作文件# 读操作info = file.read()# 写操作file.write("信息”) # 关闭文件file.close()格式二# 打开文件with open("文件名“, ”读写模式“)as file: # 操作文件 # 读操作 info = file.read() # 写操作...原创 2019-04-20 09:36:06 · 13776 阅读 · 0 评论 -
异常处理 for python
1.基本语法# 完整格式try:____可能引发异常现象的代码except:____出现异常现象的处理代码else:____未出现异常现象的处理代码finally:____最终结束后总会执行的代码# 自定义异常类class 自定义异常类名(Exception): # 继承异常父类 pass# 自定义异常主动触发raise 异常类名举个栗子1:(最简单的异常处理...原创 2019-04-20 10:00:38 · 13812 阅读 · 0 评论 -
模块与包 for python
1.模块1.1.概念模块指包含了python程序的源文件,每一个独立的.py文件具有特定的功能,其功能可以被其他python程序使用,该文件就构成了一个模块。模块的名称必须满足标识符命名规则。1.2.模块中的资源模块中的类、函数、全局变量可以被外界使用1.3.模块资源导入格式一(全部导入)# 导入import 模块名(不需要写.py)# 模块资源使用模块名.类名模块名.函数...原创 2019-04-20 11:25:19 · 13773 阅读 · 0 评论 -
HTTP协议
1.http协议的简介HTTP,HyperText Transfer Protocol。超文本传输协议,是互联网上应用最为广泛的一种网络协议。基于TCP的协议,HTTP是一个客户端和服务器端请求和应答的标准2.TCP三次握手过程SYN是请求同步的意思,synchronize(同步)的缩写ACK是确认同步的意思,acknowledgement(确认)的缩写TCP是主机对主机层的传输控制协议...原创 2019-05-09 08:58:38 · 13760 阅读 · 0 评论 -
WSGI
1.静态资源和动态资源静态资源可以理解为前端的固定页面,这里面包含HTML、CSS、JS、图片等等,不需要查数据库也不需要程序处理,直接就能够显示的页面,如果想修改内容则必须修改页面,但是访问效率相当高。动态资源,需要程序处理或者从数据库中读数据,能够根据不同的条件在页面显示不同的数据,内容更新不需要修改页面但是访问速度不及静态页面。2.什么是WSGI协议Web服务器网关接口,Web Se...原创 2019-05-09 09:01:30 · 13745 阅读 · 0 评论 -
闭包装饰器
1.什么是闭包?多层函数嵌套,(函数里面还有定义函数,一般是两个),往往内层函数会用到外层函数的变量,把内层函数以及外部函数的变量当成一个特殊的对象,这就是闭包。闭包比面向对象更纯净、更轻量,既有数据又有执行数据的代码;比普通函数功能更强大,不仅有代码还有数据;2.匿名函数、普通函数、闭包、面向对象的区别?1). 匿名函数能够完成基本的简单功能,传递是这个函数的引用 只有功能。2). 普通...原创 2019-05-09 09:03:15 · 13989 阅读 · 0 评论 -
ORM
1. 什么是元类在Python中一切皆对象,类也是一个对象,实例对象由类创建出来的,类是由元类创建出来的。简而言之,用来创建类的类就叫元类(metaclass)。 函数type其实就是一个元类,type就是Python在背后用来创建所有类的元类。2. globals()的作用globals()函数返回的是一个字典,里面保存的是所有当前位置的全部全局变量。3.内建模块Python2中为__...原创 2019-05-09 09:04:44 · 13760 阅读 · 0 评论 -
GIL
GIL全称Global Interpreter Lock(全局解释器锁)。GIL和Python语言没有任何关系,只是因为历史原因导致在官方推荐的解释器Cpython中遗留的问题。(多线程)每个线程在执行的过程中都需要先获取GIL,保证同一时刻只有一个线程可以执行代码,但是当遇到IO阻塞会自动的释放GIL锁,所以使用多线程还是比单线程的效率要高。如果想发挥多核CPU资源,可以使用多进程。为了避免受G...原创 2019-05-09 09:06:14 · 13716 阅读 · 0 评论 -
回文数
求所有5位数的回文数回文数:一个数字,正着读和倒着读都一样的数字,例如121, 222, 494 , 12521方法一for i in range(10000, 100000): a = i // 10000 # 得到万位数字 b = i % 10000 // 1000 # 得到千位数字 c = i % 1000 // 100 # 得到百位数字 d = ...原创 2019-04-19 19:20:30 · 13815 阅读 · 0 评论 -
九九乘法表for python
要得到九九乘法表# 结果1×1=1 1×2=2 2×2=4 1×3=3 2×3=6 3×3=9 1×4=4 2×4=8 3×4=12 4×4=16 1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×...原创 2019-04-19 19:07:37 · 13709 阅读 · 0 评论 -
标识符for python
标识符:指用来标识某个实体的符号命名规范:1.只能由数字、字母、_(下划线)组成2.不能以数字开头3.不能是关键字4.区分大小写命名约束:1.下划线分割法(推荐): 多个单词组成的名称,使用全小写字母书写,中间使用_分隔 first_name user_name2.驼峰命名法: 多个单词组成的名称,每个单词首字母使用大写字母书写,其余字母使用小写字母书写. First...原创 2019-04-19 18:52:23 · 14079 阅读 · 0 评论 -
nsmallest,nlargest序列对象(迭代对象)按照一定规则取最值
用一个题目引入有一个列表[-4, 0, 8, -2, -9, 5, 10, -1, -7]1.找出绝对值最小的三个元素2.找出绝对值最大的三个元素from heapq import nsmallest, nlargestl = [-4, 0, 8, -2, -9, 5, 10, -1, -7]'''这里直接调用python内置abs求绝对值函数'''print(nsmalles...原创 2019-04-21 21:10:48 · 13902 阅读 · 0 评论 -
reduce函数 for python
reduce格式'''需要先导入模块'''from functools import reducereduce(function, iterable)作用对一个可迭代对象的前两个元素执行function函数进行操作,得到的结果再和后边的元素继续用function进行操作,直到最后一个元素为止。举个栗子from functools import reducel = [1, 2, ...原创 2019-04-21 20:48:43 · 14058 阅读 · 0 评论 -
map函数 for python
格式map(function, iterable)实现可迭代对象的元素以此用函数function执行一边,得到新的可迭代对象举个栗子def func(x): '''求平方''' return x**2a = [1, 2, 3, 4, 5]b = map(func, a) # 得到一个可迭代对象<map object at 0x7f88244cd128>print...原创 2019-04-21 20:22:56 · 13927 阅读 · 0 评论 -
with上下文管理器
上下文管理器任何实现了 enter() 和 exit() ⽅法的对象都可称之为上下⽂管理器,上下⽂管理器对象可以使⽤ with 关键字。显然,⽂件(file)对象也实现了上下⽂管理器方法一class File(): def __init__(self, filename, mode): self.filename = filename self.mode = mode def...原创 2019-04-21 17:18:15 · 13758 阅读 · 0 评论 -
sorted()函数,实现排序
d = {"a": 3, "b": 6, "c": 1}print(sorted(d.items(),key=lambda x:x[1],reverse=True))运行结果[('b', 6), ('a', 3), ('c', 1)]原创 2019-04-13 20:54:32 · 14324 阅读 · 0 评论 -
property属性 for python
举个栗子引入property属性# 定义class Goods: def size1(self): return 100 @property def size2(self): return 100# 调用obj = Goods()ret1 = obj.size1() # 调用非property方法ret2 = obj.size2 # 调用property属性...原创 2019-04-21 15:46:42 · 13799 阅读 · 0 评论