- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 python 对列表内的字典排序
python 对列表内的字典排序升序排序:alldate = [{'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0}, {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0}, {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0}, {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩':
2022-04-15 11:55:47
4340
2
原创 golang并发安全和锁
golang并发安全和锁互斥锁:package mainimport ( "fmt" "sync")var ( x int64 wg sync.WaitGroup lock sync.Mutex)func add() { for i := 0; i < 5000000; i++ { lock.Lock() // 加锁 x = x + 1 lock.Unlock() // 解锁 } wg.Done()}func main() { wg.Add(2)
2022-04-12 00:26:57
523
原创 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
185
原创 gin集成Swagger-UI
gin 中间件使用 Swagger 2.0 自动生成 RESTFUL API 文档。1. 安装Swagger使用以下命令下载Swag for Go:go get -u github.com/swaggo/swag/cmd/swag在 Go 项目根路径运行Swag , Swag将解析注释并生成所需的文件和文件夹。swag init生成目录如下:.├── docs│ ├── docs.go│ ├── swagger.json│ └── swagger.yaml├── g
2022-03-27 19:04:18
817
原创 golang strings常用函数
package mainimport ( "fmt" "strings")func main() { s1 := " aBc" s2 := "100a" s3 := s1 + s2 fmt.Println(s3) fmt.Println(strings.HasPrefix(s3, "a")) //判断前缀 fmt.Println(strings.HasSuffix(s3, "0")) //判断后缀 fmt.Println(s
2022-03-05 18:20:29
188
原创 记录一个Markdown编写的接口文档模版
接口名称1) 请求地址https://apis.cnblogs.com/user/info?a=xx&b=xx2) 调用方式:HTTP post3) 接口描述:接口描述详情4) 请求参数:GET参数:字段名称字段说明类型必填备注astrY-bstrY-5) 请求返回结果:{"errNum": 10001,"errMsg": "Param Error"}6) 请求返回结果参数说明:字段名称字段说明类
2022-03-04 18:05:47
1661
原创 部署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
612
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
874
原创 记录一个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
1950
原创 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
987
原创 一些MySQL配置查询
MySQL补全缺失的ID和恢复ID自增长mysql语法:ALTER TABLE table_name AUTO_INCREMENT = num;
2021-11-24 16:04:51
459
原创 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
180
原创 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
233
原创 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
1497
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
2704
原创 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
523
原创 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
141
原创 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
147
1
原创 python操作SQLite
连接数据库下面的 Python 代码显示了如何连接到一个现有的数据库。如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象。#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully"在这里,您也可以把数据库名称复制为特定的名称 :memory:,这样就会在 RAM 中创建一个数据库。现在,让我们来运行上面的程序,在当前目录中创建我们的数据库
2021-06-19 16:54:17
251
原创 我用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
308
5
原创 Golang打印小结
Golang打印小结package mainimport "fmt"var ( name string age int isOk bool)func main() { name = "mzh" age = 23 isOk = true fmt.Println(isOk) //打印后换行 fmt.Print(name) //正常打印 fmt.Printf("的年龄是:%d", age) //使用占位符打印}打印结果:true
2021-05-27 19:35:07
349
原创 Django项目解决Error loading MySQLdb module
Django项目解决Error loading MySQLdb module在项目__init__.py文件中引入模块:import pymysqlpymysql.install_as_MySQLdb()解决!关注公众号一起学python
2021-05-24 13:33:32
272
原创 某音乐歌曲爬虫
某音乐歌曲爬虫???? 概况使用python爬虫自动下载酷gouTop500的歌曲。目标网址:https://www.kugou.com/yy/rank/home/1-8888.html?from=rank网站分析:点击歌曲进入播放页面后对网页进行抓包分析,抓包分析发现歌曲信息出现在上图的地址中,“来迟”这首歌曲的信息api地址是https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery1910045939
2021-05-21 10:57:33
1164
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
771
原创 ActionChains 操作总结
ActionChains 操作总结ActionChains类继承自object类,但是需要为其传入一个driver对象,即ActionChains(driver)此类常用于模拟鼠标键盘操作,其API列表如下:perform() 此方法执行储存的所有动作单击click(self, on_element=None),此方法即为鼠标单击动作,输入参数为一个元素,可以不输入用法:ActionChains(driver).click(driver.find_element_by_id(“input”)
2021-05-02 17:08:07
1835
原创 Django开发接口时setting.py源码
Django开发接口时setting.py源码import os# Build paths inside the project like this: os.path.join(BASE_DIR, ...)BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# SECURITY WARNING: keep the secret key used in production secret!SECRET
2021-04-28 16:44:53
101
原创 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
394
原创 猿人学第一届爬虫比赛第四题(雪碧图、样式干扰)
猿人学第一届爬虫比赛第四题(雪碧图、样式干扰)???? 概况本题与前面几题要求一致,依旧是采集5页的全部数字,计算加和并提交结果。可以发现,数据是以图片形式展示,并且第四第五页是无法通过页面查看的,查看网页源码发现数据并不在源码中,抓包分析发现请求了两个文件,其中logininfo返回了登录信息,文件4返回了一串json数据。拷贝其中的info信息,在浏览器中执行,发现info包含的是渲染图片的html代码,与题目第一页的数据比较,可以发现这些图片的顺序与网页展示的顺序不同,数量也不一致。
2021-03-31 23:09:30
568
2
原创 爬虫之某翻译网站的js逆向分析
某翻译的js逆向分析今天学习了爬虫的高阶内容:js逆向分析。选择难度较低的某翻译网站,首先进行抓包分析。点击翻译,选择xhr文件就可以找到了我们点击发送的请求,网页是一个post请求,网址如图所示,接着往下看,这里有很多我们看不懂的参数,我们再发送一次请求看看这些参数是否发生变化,我们可以发现i:是我们翻译的单词,其他发生变化的有图中三项:有经验的同学应该可以看出lts和时间戳很相似,而salt比lts多了一位数。sign是一个32位的字符,应该是md5加密。我们来验证一下;在s
2021-01-05 04:05:59
606
1
原创 R语言课程设计之-深圳房价预测模型
R语言课程设计之-深圳房价预测模型目录一、 摘要: 3二、 R语言简介 3三、 商品房价和时间的非线性模型 3(一) 数据准备(导入数据): 3(二) 建立非线性模型 4四、 影响房价的多因素的多元线性回归模型 6(一) 模型的建立 6(二) 模型的求解 7(三) 模型总结 13五、 房价预测及模型的对比评价 13(一) 指数方程预测房价 13(二) 多元线性回归预测房价 13六、 总结 14(一) 建议 14(二) 心得 14(三) 参考文献 14摘要:利用 R 语言
2020-12-31 02:37:41
10969
10
原创 Redis的有序集合zadd,zrange,zrevrange,zrem,zscore,zrangebyscore,zincrby,zcard命令学习
Redis的有序集合zadd,zrange,zrevrange,zrem,zscore,zrangebyscore,zincrby,zcard命令学习1.特点:Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。最多包含2^32-1元素。zadd实例1:Redis Zadd 命令用于将一个或多个成
2020-12-23 02:40:17
3279
原创 python生成器
python生成器# -*- coding:UTF-8 -*-def create_num(all_num): #a = 0 #b = 1 a, b = 0, 1 current_num = 0 while current_num < all_num: #print(a) yield a #如果一个函数中有yield语句,那么这个就不再是函数,而是一个生成器模板 a, b = b, a+b cu
2020-12-20 23:58:24
122
原创 python迭代器应用之输出斐波拉契数列
python迭代器应用之输出斐波拉契数列迭代器优点:占用空间小# -*- coding:UTF-8 -*-from collections import Iterable,Iteratorimport timeclass Fibonacci(object): def __init__(self,all_num): self.all_num = all_num self.current_num = 0 self.a = 0 s
2020-12-20 20:15:59
354
原创 python迭代器理解
python迭代器理解# -*- coding:UTF-8 -*-from collections import Iterable,Iteratorclass Classmate(object): def __init__(self): self.name = list() def __add__(self, name): self.name.append(name) def __iter__(self): #如果想要一个对象称
2020-12-20 03:13:03
321
1
原创 python多进程实现文件海量复制
python多进程实现文件海量快速复制直接上代码:# -*- coding:UTF-8 -*-import osimport multiprocessingdef copy_file(q,file_name,old_folder_name,new_folder_name): '''完成文件的复制''' # print('======>模拟copy文件:从%s--->%s 文件名是:%s' % (old_folder_name,new_folder_name,file
2020-12-20 01:30:00
416
3
原创 解决在window系统下创建多进程的出现RuntimeError的问题
解决在window系统下创建多进程的出现RuntimeError的问题。今天在做python创建进程池的时候出现了以下的错误,RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase. This probably means that you are not u
2020-12-19 19:16:40
1087
2
原创 python创建进程池
python创建进程池# -*- coding:UTF-8 -*-from multiprocessing import Poolimport os,time,randomdef worker(msg): t_start = time.time() print('%s开始执行,进程号为%d' % (msg,os.getpid())) # random.random() 随机生成0-1之间的浮点数 time.sleep(random.random()*2) t
2020-12-19 19:07:16
432
1
原创 python多进程学习
python多进程学习# -*- coding:UTF-8 -*-import multiprocessingimport timedef test1(): while True: print('1') time.sleep(1)def test2(): while True: print('2') time.sleep(1)def main(): p1 = multiprocessing.Process
2020-12-19 04:27:54
121
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人