Python
文章平均质量分 60
max229max
这个作者很懒,什么都没留下…
展开
-
Python - APM 链路跟踪探针之DDtrace
Python - APM 探针之DDtraceMax.Bai2021-03APM ()系统简单来说由负责收集数据的探针和数据展示分析两部分组成,这个DDtrace就是python的探针。DDtrace 是DataDog开源的python探针,官网地址 https://docs.datadoghq.com/tracing/setup_overview/compatibility_requirements/python/, 兼容大部分WEB框架,Flask,Django等等。这里就测试一个Fla原创 2021-03-16 10:30:26 · 4871 阅读 · 1 评论 -
Python - Django ORM ManyToManyField 创建第三张表
Python - Django ORM ManyToManyField 创建第三张表Max.Bai2020-11当我们开发的过程中原先多对多关系不需要在Models建第三张表,Django会自动创建表,如果业务发展,需要在多对多的关系中添加属性,那就需要手动添加第三张表,并添加字段。如果直接修改并执行的话那就会出现下面的错误:they are not compatible types (you cannot alter to or from M2M fields, or add .原创 2020-11-26 14:57:41 · 3542 阅读 · 2 评论 -
Python - AES SHA1PRNG 加密解密总结
Python - AES sha1prng 加密解密总结Max.Bai2020-11上篇文章是当时研究AES加密的时候的记录,来龙去脉可以取看这篇 python3 - AES 加密实现java中SHA1PRNG 算法好多人回复并提问,我发现还有必要写这篇做一个总结,并写成了一个开箱即用类,添加了ECB,CBC的加解密,当然也包含SHA1PRNG,如果其他类型可以参照里面代码添加其他加密模式。加解密的流程总结:0. 确认加密模式、ECB、CBC等1. key,看是否需要sha.原创 2020-11-12 16:17:36 · 6000 阅读 · 5 评论 -
Django - FileField gitlab 存储文件
Django - FileField gitlab 存储文件Max.Bai2020-09Django FileField 用来存储文件类型的字段,现成的有SFTP存储, 有dropbox, S3等,我需要gitlab存储文件,自己写一个存储中间件。需要安装 pip install python-gitlab==2.5.0保存的文件类型不限,保存大小有限制,文件转为base64 保存到gitlab,所以大小有限制,太大不能转base64.如果只保存文本类型的就不需要转base64 .原创 2020-09-18 17:34:00 · 2917 阅读 · 0 评论 -
Python - SQLAlchemy 子查询
Python - SQLAlchemy 子查询Max.Bai2020-081. 子查询需要先执行subquery2. 子查询的列需要通过c来访问 比如: sub_query.c.alarm base_sub_query = ( db.query( AlarmRule.alarm, AlarmRule.condition, AlarmRule.compare_float ) .原创 2020-08-26 18:42:56 · 3884 阅读 · 0 评论 -
Jira - 单选自定义字段 通过接口添加选项
Jira - 单选自定义字段 通过接口添加选项Max.Bai2019-101. 背景Jira里面自定义字段的选择需要在admin页面配置Administration panel > Custom fields > configure > Edit options有没有可以自动添加的接口什么的,经过查找,找到如下资源,先行mark,待有空来验证。2...原创 2019-10-09 17:00:19 · 2336 阅读 · 0 评论 -
Python - Elasticsearch ES 查历史数据平均值
Python - Elasticsearch ES 查历史数据平均值Max.Bai2020-08需求:查询最近12 小时的数据按照每10分钟分组统计数量同时查询过去7天的同时段的数据平均值,同时段的70%值(从高到低排序,70%位置的数量)比如 最近12小时中12:00-12:10 这个时段 ,过去7天的同时段,7天平均值是多少,过去7天同时段数量排序大到小,70%线数量是多少查询代码: end_time = int(time.time()) # 时间范围结原创 2020-08-05 16:36:18 · 3950 阅读 · 0 评论 -
python - peewee 各种用法
python - peewee 各种用法Max.Bai2020-030X00 背景记录peewee 使用中需要的一些用法,包括子查询,混合sql脚本,case用法, OR用法0X01 表结构表结构 userid int 工号name varchar 名称0X02 peewee子查询操作mysql脚本:sele...原创 2020-03-18 19:43:25 · 5824 阅读 · 0 评论 -
Python - 通过周数获取日期
Python - 通过周数获取日期2019-12Max.BaiPython - 通过周数获取日期比如2019年第46周 周一的日期import datetimewk = '2019-W46-1'datetime.datetime.strptime(wk, '%Y-W%W-%w')>>> datetime.datetime(2019, 1...原创 2019-12-06 19:12:19 · 4586 阅读 · 0 评论 -
python - Flask session
flask session 一些设置设置,使用设置session在cookies里面的名字设置session超时时间读取,修改,清除from flask import Flask, sessionapp = Flask(__name__)app.secret_key = "xxxxxx" # session要用的秘钥app.config['SESSI...原创 2019-10-26 15:37:16 · 979 阅读 · 0 评论 -
python - Flask 部署gunicorn,supervisor部署日志问题
python - Flask 部署gunicorn,supervisor部署日志问题Max.Bai2019-101. gunicorn部署Flask日志设置日志有Flask日志,有gunicorn日志,首先合并到一个文件。在app.py文件添加如下代码,当gunicorn启动的时候获取gunicorn的日志,赋值为flask。当debug启动的时候,日志全部写到指定文件...原创 2019-10-22 17:53:06 · 2989 阅读 · 1 评论 -
Python - 发送带图片邮件
使用python发送带图片的邮件设置邮件为多文本格式MIMEMultipart('related')编写html格式内容包含图片信息msgHtmlImg = '<img src="cid:image{count}"><br>'MIMEText(msgHtmlImg, 'html')读取图片并添加邮件头fp = open(imgpath, 'rb')msgImage = MIMEIma原创 2017-04-28 17:48:48 · 9482 阅读 · 1 评论 -
python3 - AES 加密实现java中SHA1PRNG 算法
python3 - Java AES 加密实现java中SHA1PRNG 算法Max.Bai2019-020x00 事由最近和java项目对接遇到AES加密算法,java代码有SecureRandom.getInstance("SHA1PRNG"); python实在找不到对应的方法,C#,php,js代码各种查到,大家都有遇到,解决的不多,C# 直接用java算出key,然...原创 2019-02-18 20:39:49 · 14943 阅读 · 30 评论 -
Python - 基于nameko任务管理
Python - 基于nameko任务管理Max.Bai2019-05功能1. 任务管理:开始任务,停止任务(排队中,在执行),查看队列(排队中,执行中,slave)2. 执行端:分不同类型,心跳需要的库:amqp==2.2.2amqplib==1.0.2Jinja2==2.10nameko==2.12.0peewee==3.9.4six==1.11....原创 2019-05-24 14:13:38 · 2151 阅读 · 0 评论 -
Python - peewee 数据库重连,连接池连接不够
Python - peewee 数据库重连,连接池连接不够Max.Bai2019-05peewee 是轻量级的python ORM工具。官网的demo:from peewee import *settings = {'host': 'localhost', 'password': '', 'port': 3306, 'user': 'root'}db = MySQ...原创 2019-05-24 11:03:42 · 6324 阅读 · 3 评论 -
python - pychrome 页面抓取测试
python - pychrome 页面抓取测试Max.Bai2019.06记录一下去年做页面抓取的脚本记录。使用Chrome-headless抓取页面内容,使用python 的pychrome包。要先开启浏览器然后通过pychrome调用chrome dev protocol#! python3# _*_ coding:utf-8 _*___autho...原创 2019-06-14 14:35:38 · 3927 阅读 · 0 评论 -
python3 - RC4 算法
python3 - RC4 算法max.bai2019.07工作中遇到的rc4 算法,记录一下RC4,加密和解密是一样的再加密一次就等于解密了代码实现:# coding: utf-8# import base64import binasciidef rc4_crypt(PlainBytes:bytes, KeyBytes:bytes) -> str...原创 2019-07-03 10:00:11 · 2094 阅读 · 0 评论 -
Python - Django 多套settings
Python - Django 多套settingsMax.Bai2019-080x00: 背景Django里面有个settings文件,里面是Django的各种配置,开发过程中可能遇到过生产环境和开发环境的配置不一样,需要本地修改又不想上传,怎么办?最好的办法就是创建多套settings。假设我们的项目叫HATP,方便下面的内容描述。0x01: 创建多个settin...原创 2019-08-19 16:49:21 · 307 阅读 · 0 评论 -
Python - 执行js脚本
Python - 执行js脚本Max.Bai2019-080x00: 背景需要用python执行mockjs 来生产模拟数据。当然有其他办法,这个确实比较绕,暂且不讨论,主要关注python执行js。0x01:工具execjs 或者PyV8 pyton调用js的库,execjs稳定点,PyV8经常报错,但性能好点(或许是我姿势不对)nodejs 用来...原创 2019-08-16 09:48:23 · 506 阅读 · 0 评论 -
python - Locust各种http client 测试
python - Locust各种http client 测试Max.Bai2019-08Table of Contentspython - Locust各种http client 测试0x00 前言0x01 locust自带client0x02 http.client0x03 geventhttpclient0x04 Urllib30x05 go net.h...原创 2019-08-26 17:27:14 · 1979 阅读 · 0 评论 -
Python - RC4 算法
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/max229max/article/details/87607302Python - RC4 算法Max.Bai2019-02 RC4 算法 python3实现:#!/usr/bin/env python"""a simple encryption script usin...原创 2019-02-18 11:29:33 · 790 阅读 · 0 评论 -
Python - Django orm 字段别名
Python - Django orm 字段别名Max.Bai2018-11 Django orm 数据查询结果给字段取别名sql 写法类似:select name as username, id as useridfrom usersDjango实现修改列明的方法有两种:方法1: annotatefrom django.db.models import ...原创 2018-11-23 10:17:54 · 6412 阅读 · 2 评论 -
Python - SockeIO请求,模拟Web Socket 请求
Python - 模拟Web Socket 请求Max.Bai2017-04需要用到socketio-client, logging1. 安装SockeIO-Clientpip install socketio-client-22. 创建连接发送数据from socketIO_client import SocketIOhosts = 'http:原创 2017-04-21 16:48:38 · 12791 阅读 · 0 评论 -
Python - MD5, AES128 加密
Python - MD5, AES128 加密Max.Bai2017-041. MD5 加密import hashlibsrc = 'sourcestringxxxxxxx'hlib = hashlib.md5()hlib.update(src) # py2.7# python3 需要转码# b = src.encode(encoding='utf-8...原创 2017-04-21 15:49:00 · 3442 阅读 · 0 评论 -
Python - Requests 中文
Python - Requests 中文Max.Bai2017-04-21记录Requests 请求返回带中文问题:decode string to unicodeencode unicode to string1. windows: windows 上先要把得到的结果转为unicode,再转码到gb2312 就可以直接显示中文print r原创 2017-04-21 15:16:37 · 402 阅读 · 0 评论 -
Python - Requests Cookies操作
Python - Requests Cookies操作Max.Bai2017-04-211. 添加cookies 到requestrequests 在模拟带cookies 的请求时需要添加保存的cookiesRequests 自带工具可添加现有cookies到request里面涉及的方法为 add_dict_to_cookiejar代码:im原创 2017-04-21 15:08:28 · 18976 阅读 · 0 评论 -
SecureCRT - python 脚本计算google 验证码
SecureCRT - python 脚本计算google 验证码Max.Bai2016-12-220x00 google 验证码当登录linux服务器需要输入google验证码的时候,我们可以在手机上安装google authenticator 计算实时变化的验证码,当然做为懒得不行的我,需要自动输入验证码在 SecureCrt 屏幕上。0x原创 2016-12-22 19:47:55 · 3429 阅读 · 1 评论 -
Python - Requests 模拟 DWR框架的请求
Python - Requests 模拟 DWR框架的请求Max.Bai2016-07-19记录一次压测DWR系统的请求脚本。难点获得DWRSESSION的值,并且解决请求页面报错问题1. 获得DWRSESSION2. 打开关键请求参数里面的page对应的页面一次3. 模拟关键请求样例脚本1:# !/usr/bin/e原创 2016-08-04 14:41:48 · 5388 阅读 · 5 评论 -
Python - 生成Robot Framework 类
Python - 生成Robot Framework 类最近在写一个web版的RIDE,用到了python执行robot脚本的问题,现做一个记录直接创建TestSuit类用python脚本生成Robot Framework 里面的TestSuite,并执行from robot.api import TestSuitets = TestSuite('test')ts.resource.imports.library('Selenium2Library')ts.resource.imports.原创 2016-07-19 20:21:26 · 1978 阅读 · 0 评论 -
Python - 两圆相交求交点坐标
Python - 两圆相交求交点坐标Max.Bai 2016-05-16Python - 两圆相交求交点坐标三轴机械臂求坐标问题,其实转化为平面问题就是两圆相交求交点问题,交点算出来就可以用反三角函数算出各个机械臂的夹角。已知圆1, 半径R, 坐标(x, y)圆2, 半径S, 坐标(a, b)求两圆交点x3, y3 x原创 2016-05-16 19:59:53 · 6920 阅读 · 2 评论 -
性能测试 - LocustIO 验证请求结果
性能测试 - LocustIO 验证请求结果Max.Bai2017-041. 默认验证请求结果Locust 默认会对请求做校验,如果是200就是成功的,不然就是失败不用做任何操作,在task里面直接请求就可以了, locust会记录请求的结果并加以统计self.client.get('/getuser', param)2. 自定义验证方式大部分时候我原创 2017-04-21 19:08:16 · 3527 阅读 · 0 评论 -
Python - Selenium Chrome 模拟手机
Python - Selenium Chrome 模拟手机Max.Bai2017-04Chrome浏览器支持移动端调试,当然ChromeDriver也支持移动端测试了。使用python调用Webdriver 的Chrome浏览器驱动,并设置对应的options就可以实现浏览器打开后为移动端模式。1. 简单模式,指定对应的手机设备即可mobile_emulation原创 2017-04-26 16:59:51 · 6757 阅读 · 3 评论 -
RobotFramework - Chrome模拟手机
RobotFramework - Chrome模拟手机Max.Bai2017-04Python - Selenium Chrome 模拟手机可以实现chrome浏览器模拟手机进行自动化测试,当然Robotframework也是可以的。基本思路:1.创建chromeoption2.创建mobileEmulation字典包含模拟器的相关信息3. 设置chrom原创 2017-04-26 17:16:36 · 2416 阅读 · 0 评论 -
性能测试 - Locust dubbo client
性能测试 - Locust dubbo clientMax.Bai2018-08性能测试 - Locust Stomp client性能测试 - Locust TCP socket clientLocust dubbo客户端实现# _*_ coding:utf-8 _*_'''Locust dubbo clientMax.Bai2018-08'''imp...原创 2018-08-30 14:41:56 · 968 阅读 · 0 评论 -
Python - IBM Notes 发送邮件
0. 环境说明windows 10Notes版本:9.0.1原理是python调用win32 的com 组件发送邮件,所以和notes客户端的版本有关系。1. 安装插件用到Python库 pywin32pip install pywin322. 配置查找服务器:如图下,比如SZdom/szABCtech, 脚本里面写的时候为SZdom@szABCtech...原创 2018-08-30 11:44:06 · 9395 阅读 · 10 评论 -
Python - 进度条
Python - 进度条Max.Bai2018-08 sys.stdout实现进度条效果直接上代码:#!/usr/bin/env python3# _*_ coding:utf-8 _*_'''Progress barMax.Bai2018-08'''import sysimport timedef print_progress_bar(tota...原创 2018-08-28 15:30:42 · 707 阅读 · 0 评论 -
Python - Django分布式Celery使用
Python - Django分布式Celery使用Max.Bai2016-05-16Django分布式Celery使用1. 安装pyhon 环境是必须的Celery erlang开发,需要安装erlang。Celery 需要消息队列配合使用,RabbitMQ, Redis都可以apt-get install erlangapt-get install原创 2016-05-20 18:01:03 · 3355 阅读 · 0 评论 -
Django - Debug toolbar 配置
Django - Debug toolbar 配置max.bai2018-01-101. pip3 install django-debug-toolbar2. setting.py config2.1 MIDDLEWARE add'debug_toolbar.middleware.DebugToolbarMiddleware'2.2 INSTALL原创 2018-01-10 10:48:10 · 375 阅读 · 0 评论 -
python - multi-mechanize 安装笔记
python - multi-mechanize 安装笔记Max.Bai2017-111. multi-mechanize 是什么Multi-Mechanize 是一个开源的性能和负载测试框架,它并发运行多个 Python 脚本对网站或者服务生成负载(组合事务)。测试输出报告保存为HTML或JMeter的兼容的XML。Multi-Mechanize最常用于web性能和可扩展原创 2017-11-06 10:38:04 · 436 阅读 · 0 评论 -
python - requests 发送带文件请求
python - requests 发送带文件请求Max.Bai2017-081. requests发送文件功能Requests 使得上传多部分编码文件变得很简单>>> url = 'http://httpbin.org/post'>>> files = {'file': open('report.xls', 'rb')}>>> r = request原创 2017-08-31 15:25:48 · 10225 阅读 · 0 评论