python
南瓜头777
这个作者很懒,什么都没留下…
展开
-
python 对列表内的字典排序
python 对列表内的字典排序升序排序:alldate = [{'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0}, {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0}, {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0}, {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩':原创 2022-04-15 11:55:47 · 4242 阅读 · 2 评论 -
python基本数据结构
栈:class Stack: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): self.items.pop()原创 2022-04-05 20:49:21 · 144 阅读 · 0 评论 -
部署django-celery
安装包# pip安装必选 Django==3.2 celery==5.0.5 redis==3.5.3 # 可选,windows下运行celery 4以后版本,还需额外安装eventlet库 eventlet # 推荐安装, 需要设置定时或周期任务时安装,推荐安装 django-celery-beat==2.2.0 # 视情况需要,需要存储任务结果时安装,视情况需要 django-celery-results==2.0.1 # 视情况需要,需要监控celery运行任务原创 2022-01-17 23:54:33 · 557 阅读 · 1 评论 -
记录python httpx库的基本使用
详细注释记录在代码中。。。# 文档地址https://www.python-httpx.org/import httpx # pip install httpx # pip install httpx[http2]import asyncioimport time# headers = {'user-agent': 'my-app/1.0.0'}# params = {'key1': 'value1', 'key2': 'value2'}# cookies = {'color': 'gre原创 2022-01-15 12:47:31 · 721 阅读 · 0 评论 -
记录一个JWT验证装饰器
记录一个JWT验证装饰器,可用于做接口验证。用到的包:import timeimport jwtimport uuidimport functools用到的加密解密方法:class Token: @classmethod def encrpyt_token(cls, username, exp_time=None, secret=None): """ jwt加密 :param username: :param e原创 2022-01-12 16:33:11 · 1881 阅读 · 0 评论 -
python 懒加载
python 懒加载getattr() 函数用于返回一个对象属性值。减少内存消耗 try: namespace_ = convert_upper_case_to_snake_case(service_name) + '_service' namespace_module = import_module(f"app.services.{namespace_}") class_object = getattr(namespace_module, servic原创 2021-12-22 18:34:30 · 938 阅读 · 0 评论 -
Django自定义Some of Simple JWT’s behavior
# Django project settings.pyfrom datetime import timedelta...SIMPLE_JWT = { 'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5), 'REFRESH_TOKEN_LIFETIME': timedelta(days=1), 'ROTATE_REFRESH_TOKENS': False, 'BLACKLIST_AFTER_ROTATION': False,原创 2021-10-23 17:44:48 · 133 阅读 · 0 评论 -
Python强类型笔记(一)
一个简单的例子:def speak(name,age): print(name,age)speak("张三","18")可以知道,speak函数的name参数,接收的一定是个字符串,并且希望它以后接收的也一直是字符串,传统的写法如上。现在有个很简单的需求,我想把name接收的参数都转成大写,我们都知道字符串有upper方法。print("stark".upper())但是当我们敲“.”符号的时候,有时候可能并不会出现自动提示,但是name确实是字符串。我们将代码稍微改一下:def原创 2021-09-05 22:21:07 · 153 阅读 · 0 评论 -
Flask-RESTX笔记(二)之一个完整的flask-restx实例
一个完整的flask-restx实例from flask import Flaskfrom flask_restx import Api, Resource, fieldsfrom werkzeug.middleware.proxy_fix import ProxyFixapp = Flask(__name__)app.wsgi_app = ProxyFix(app.wsgi_app)api = Api(app, version='1.0', title='TodoMVC API',原创 2021-08-25 17:54:04 · 1392 阅读 · 1 评论 -
Flask-RESTX笔记(一)
初始化与其他所有扩展一样,您可以使用应用程序对象对其进行初始化:from flask import Flaskfrom flask_restx import Apiapp = Flask(__name__)api = Api(app)或者懒惰地使用工厂模式:from flask import Flaskfrom flask_restx import Apiapi = Api()app = Flask(__name__)api.init_app(app)一个最小的 API一原创 2021-08-23 00:38:33 · 2539 阅读 · 0 评论 -
python消息队列(生产者消费者模型)
from multiprocessing import Queuefrom threading import Threadimport time#创建生产者def producer(q, n): print("开始生产") for i in range(n-99, n+1): print("生产{}".format(i)) q.put(i) #发消息 if i == 80 or i == 180:原创 2021-08-10 20:11:27 · 451 阅读 · 0 评论 -
Linux crontab 命令
Linux crontab 命令service crond start //启动服务service crond stop //关闭服务service crond restart //重启服务crond -e //编辑20 03 * * * python /home/test.py > /home/test.log原创 2021-07-06 16:31:49 · 111 阅读 · 0 评论 -
nginx总结
nginx总结nginx常用命令启动nginx-s quit是正常停止。nginx -s quit-s stop是强制停止nginx -s stop启动状态下重新加载配置文件nginx -s reload查看nginx进程ps aux|grep nginx关于Gunicorn 的终止进程显示主进程pidpstree -ap | grep gunicorn杀掉这个主进程就okkill -9 查询出的pid...原创 2021-07-04 23:54:37 · 121 阅读 · 1 评论 -
python操作SQLite
连接数据库下面的 Python 代码显示了如何连接到一个现有的数据库。如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象。#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully"在这里,您也可以把数据库名称复制为特定的名称 :memory:,这样就会在 RAM 中创建一个数据库。现在,让我们来运行上面的程序,在当前目录中创建我们的数据库原创 2021-06-19 16:54:17 · 215 阅读 · 0 评论 -
我用Python打开了女朋友的加密压缩包(生产者消费者模型和多进程实现)
我用Python打开了女朋友的加密压缩包???? 概况女朋友的压缩包密码忘记了,在她说明是6位数的某一个日期后,我决定帮她打开,毕竟我也想看看加密的压缩包里面是什么图片。关键字:多进程 产消模型首先我们需要生成一个密码库,已知密码是6位数的纯数字,即000000-999999。这就简单了。上代码:#生成从000000到99999的密码表f = open('passdict.txt','w')for id in range(1000000): password = str(id).zfi原创 2021-06-11 13:26:25 · 277 阅读 · 5 评论 -
python异步编程之asyncio
python异步编程之asyncio前言:python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板,如最新的微服务框架japronto,resquests per second可达百万级。python还有一个优势是库(第三方库)极为丰富,运用十分方便。asyncio是python3.4版本引入到标准库,python2x没有加这个库,毕竟python3x才是未来啊,哈哈!pyth原创 2021-05-18 01:43:53 · 733 阅读 · 0 评论 -
Python之base64加密解密
Python之base64加密解密加密:import base64str1 = "hello word"str2 = str1.encode(encoding ='utf-8',errors = 'strict')str3 = base64.b64encode(str2)str4 = str3.decode()解密:enstr = base64.b64decode(str3.decode())print(enstr.decode())原创 2021-04-27 23:05:27 · 298 阅读 · 0 评论 -
爬虫之某翻译网站的js逆向分析
某翻译的js逆向分析今天学习了爬虫的高阶内容:js逆向分析。选择难度较低的某翻译网站,首先进行抓包分析。点击翻译,选择xhr文件就可以找到了我们点击发送的请求,网页是一个post请求,网址如图所示,接着往下看,这里有很多我们看不懂的参数,我们再发送一次请求看看这些参数是否发生变化,我们可以发现i:是我们翻译的单词,其他发生变化的有图中三项:有经验的同学应该可以看出lts和时间戳很相似,而salt比lts多了一位数。sign是一个32位的字符,应该是md5加密。我们来验证一下;在s原创 2021-01-05 04:05:59 · 519 阅读 · 1 评论 -
pycharm最新解决方法!!
今天给大家带来Pycharm激活方式。利用激活码激活(理论2100年到期)使用方法如下:打开IDE,将下载的压缩包jetbrainscrack20201126.rar解压(会获取到补丁和key.txt),将补丁(BetterIntelliJ.zip无需解压缩!!!)直接拖拽到IDE窗口中。补丁已为你打包好,已经关注公众号的直接在公众号回复Pycharm即可领取。没有关注公众号的,先关注公众号回复Pycharm即可领取压缩包出现弹窗,点击OK,IDE会自动重启,如果不能自动重启,可直接关闭IDE原创 2020-12-28 16:52:06 · 4047 阅读 · 12 评论