摘要:
Day 4:Python 多进程编程进阶 一、 基础使用 多进程适用于处理那些需要CPU进行大量计算的任务,和多线程类似,目前标准库中有基础的multiprocessing模块与高级的concurrent.futures模块,任务需要复杂控制用multiprocessing,简单任务用concurr 阅读全文
随笔分类 - 代码之道
Python并发编程学习 day3
2025-06-30 15:12 by 第二个卿老师, 31 阅读, 收藏,
摘要:
Day 3:Python 协程编程基础 一、核心概念 异步IO(Async IO):一种编程范式(模型),程序可能不会等待一个执行步骤完成就转到下一个执行步骤 异步IO是一种并发编程风格,但不是并行,它是一种单进程、单线程的设计,使用了协作式多任务处理 异步 IO 需要较长的等待时间,否则函数会被阻 阅读全文
Python并发编程学习 day2
2025-06-16 16:47 by 第二个卿老师, 31 阅读, 收藏,
摘要:
Day 2:Python 多线程编程进阶 一、 基础使用 多线程适用于处理那些花费大量时间等待外部事件的任务,目前标准库中有基础的threading模块与高级的concurrent.futures模块,任务需要复杂控制用threading,简单任务用concurrent.futures thread 阅读全文
Python并发编程学习 day1
2025-06-12 15:57 by 第二个卿老师, 34 阅读, 收藏,
摘要:
Day 1:Python 并发编程基础 一、并发 vs 并行 并发(Concurrency):代表多个任务、线程、进程在“同一时段”处理,从低层级看,在抢占式多任务处理系统中,处理器上多个操作指令会快速的轮流切换,看似同时处理 并行(Parallelism):代表多个任务、线程、进程在同时处理,这里 阅读全文
智能合约abi的可视化接口文档生成脚本
2025-04-14 10:03 by 第二个卿老师, 54 阅读, 收藏,
摘要:
背景 合约测试一直有个小痛点:合约开发人员每次给的是abi.json文件,而json文件不方便查找对应的合约接口及参数。于是在网上也找到了对应的工具chaintool.,感兴趣的可以自己下载部署。 解决方案 我主要是想生成一个可视化接口文档,于是自己写了一个脚本如下,也放到了自己的github: i 阅读全文
web3.py使用笔记
2025-04-11 10:19 by 第二个卿老师, 104 阅读, 收藏,
摘要:
平时测试智能合约用到了web3.py,作为新手主要出问题的是根据abi文件构造交易这块,格式匹配不上,最近有时间,就结合自己经验总结下: Solidity ABI类型 ↔ Python类型对照表 1. 基础类型 Solidity 类型 Python 类型 示例 & 注意事项 uint8 ~ uint 阅读全文
python hmac库的使用记录(Telegram小程序hash生成)
2025-02-08 10:15 by 第二个卿老师, 102 阅读, 收藏,
摘要:
最近要测试Telegram小程序,发现登录接口需要传验证hash,如下图 阅读开发文档:https://core.telegram.org/bots/webapps#webappchat,中文翻译截图如下 根据上述说明,请求body中initData字段是包含了用户信息的数据校验字符串,需要按照字母 阅读全文
jmeter自定义函数开发—Web3钱包生成工具
2024-07-09 19:11 by 第二个卿老师, 92 阅读, 收藏,
摘要:
之前使用Jmeter进行接口测试时,有生成钱包地址的需求,于是有时间就简单写了个自定义函数 环境说明 JDK1.8.0,Jmeter 5.4.3,maven构建工具 实现代码 新建一个简单的maven项目即可,以下是pom.xml配置 <?xml version="1.0" encoding="UT 阅读全文
批量异步上传aws图片脚本(python)
2024-06-16 11:02 by 第二个卿老师, 101 阅读, 收藏,
摘要:
背景 工作中需要上传一些测试图片,于是网上找找资料(官方说明),前置步骤如下。 python需要3.8以上,安装最新的boto3库: pip install boto3 有一个S3权限的aws账户,得到访问密钥ACCESS_KEY与SECRET_KEY,以及上传图片的存储桶位置 安装异步编程asyn 阅读全文
《快速入门以太坊》学习记录 —转载
2023-12-02 11:00 by 第二个卿老师, 236 阅读, 收藏,
摘要:
快速入门以太坊 therscan搜索NFT详细信息:https://goerli.etherscan.io/ 搜索测试链和主链:https://chainlist.org/zh polygonscan链:https://mumbai.polygonscan.com/ 铸造NFT:https://th 阅读全文
win10下python3.9的代理报错问题解决(附web3的polygon爬虫源码)
2023-01-19 14:03 by 第二个卿老师, 312 阅读, 收藏,
摘要:
背景 因为工作中经常需要代理访问,而开了代理,request就会报错SSLError,如下: requests.exceptions.SSLError: HTTPSConnectionPool(host='test-admin.xxx.cn', port=443): Max retries exce 阅读全文
python分析xmind的节点
2022-11-18 19:13 by 第二个卿老师, 641 阅读, 收藏,
摘要:
由于测试用例是xmind格式,工具只能查询到总的节点数,于是网上找了一段解析xmind的代码。 如下(出处记不得了就没贴): # 模块名称(文件名为:parse_xmind.py) import requests import xmindparser """ @desc: 定义xmind中测试用例和 阅读全文
nginx日志的python分析脚本
2022-09-28 19:17 by 第二个卿老师, 532 阅读, 收藏,
摘要:
因为容量场景需要统计峰值时间段的业务分布情况,即是统计每个接口请求以及对应的数量,这里记录下之前的实现脚本。 nginx的日志格式如下: 代码如下: import os,json import pandas as pd import datetime ''' 全局参数 ''' # 日志文件存放目录 阅读全文
python连接mysql与redis(ssh方式)
2022-08-15 19:51 by 第二个卿老师, 463 阅读, 收藏,
摘要:
python如何连接数据库(SSH方式) 性能测试时,有个支付订单的场景,需要用到已生成的订单code,如何获取订单code? 一,通过Jmeter连接数据库获取。二,直接mysql导出数据 我这里是使用python导出mysql数据,使用的SSH方式: import pymysql import 阅读全文
python随机生成手机号、邮箱并保存为CSV数据文件
2022-08-04 14:36 by 第二个卿老师, 3 阅读, 收藏,
摘要:
由于性能测试中需要准备测试数据,比如手机号参数化数据,这里记录下以便参考: import random import csv # 生成随机phone def create_random_phone(): phone = "1" + random.choice(['3', '5', '7', '8', 阅读全文
python基础练习题(题目 三数排序。)
2022-03-29 12:16 by 第二个卿老师, 226 阅读, 收藏,
摘要:
day40 实例066:三数排序 题目 输入3个数a,b,c,按大小顺序输出。 分析:使用列表,用排序函数sorted i = 0 a = [] while i < 3: a.append(int(input("请输入一个整数:"))) i += 1 print(sorted(a)) 看看答案: # 阅读全文
python基础练习题(题目 查找字符串。)
2022-02-26 16:32 by 第二个卿老师, 352 阅读, 收藏,
摘要:
day39 实例061:查找字符串 题目 查找字符串。 分析:查找字符串python提供了4种方法:其中find和index方法,是从左到右开始查找,加r代表从右到左查找;find方法返回找到后第一个子串的下标,未找到返回-1,而index方法未找到会抛出异常。 代码如下: s1 = "qingla 阅读全文
python基础练习题(题目 打印出杨辉三角形前十行。)
2022-02-22 21:36 by 第二个卿老师, 1304 阅读, 收藏,
摘要:
day38 实例061:杨辉三角 题目 打印出杨辉三角形前十行。 分析:查了一下,杨辉三角规律,每行多一个数,每行的值等于上一行相邻的值相加,其中边角值可以看为0,即一直为1,所以可以用列表套列表来做 代码如下: for i in range(1,10): for k in range(10-i): 阅读全文
python基础练习题(题目 画圈,学用circle画圆形。)
2022-02-10 22:03 by 第二个卿老师, 331 阅读, 收藏,
摘要:
day37 实例056:画圈 题目 画图,学用circle画圆形。 分析:还是直接上代码 from tkinter import * canvas=Canvas(width=800,height=600,bg='yellow') canvas.pack(expand=YES,fill=BOTH) k 阅读全文
浙公网安备 33010602011771号