Python
文章平均质量分 55
Python常用编程技巧
BenjaminQA
If you have a dream,you got to protect it.come on!
了解,学习,掌握,学习并掌握,灵活运用,精通,资深,专家,目前到了那个阶段?
灵活运用就是能把学到的,看到的,通过一定思考解决实际应用问题了。
学了这么多,解决了什么问题?提高了什么效率?真得有用吗?
展开
-
Python 实现pip环境管理 Python执行CMD命令 Python获取pip list环境所有的包信息 包列表 包数量 包管理 pip list信息导出 pip包管理 pip管理
Python 实现pip环境管理 Python执行CMD命令 Python获取pip list环境所有的包信息 包列表 包数量 包管理 pip list实际生产工作中需要维护较多的环境,或需要导出某个环境requirement.txt依赖信息,当然方法和方式是多种多样的,本文列举Python执行cmd命令实现pip包管理,实现CRUD的基础功能,后期可根据实际需求可封装为Http接口去调用实现。仅供参考可根据自身业务需求再封装为http api接口实现参数调用和控制,也可实现单接口多机远程云端调用执行。原创 2023-06-06 10:02:16 · 442 阅读 · 0 评论 -
Python Json数据结构 打印json结构里含有$符号value的值 并且去重里面value相同的值 77hub 北京企业科技 企企 测试工程师面试 简单代码算法题
Python Json数据结构 打印json结构里含有$符号value的值 并且去重里面value相同的值 77hub 北京企业科技 企企 测试工程师面试 简单代码算法题预览示例代码的时候,心里想构想一下为什么示例代码会怎么写?这么写的用意和出题的是具体考场什么点的知识呢?每次做题之前先预猜测一下,再思考解题思路。首先想到是使用递归方法解决,但是平时不常用递归(也没有这个题的类似写法),因为时间有限原因先放弃递归,采用正则去解决。完事后再使用递归解决提交。原创 2022-12-06 09:45:54 · 394 阅读 · 0 评论 -
Python OpenCV pyinstaller打包exe配置 exe程序启动错误 ImportError: OpenCV loader: missing configuration file
Python OpenCV pyinstaller打包exe配置 exe程序启动错误 ImportError: OpenCV loader: missing configuration file 打包命令将依赖目录添加到命令行后,再打包即可原创 2022-11-21 07:15:00 · 564 阅读 · 0 评论 -
APScheduler 定时任务模块实现
APScheduler使用起来十分方便。提供了基于日期、固定时间间隔以及 crontab类型的任务。还可以在程序运行过程中动态的新增任务和删除任务。在任务运行过程中,还可以把任务存储起来,下次启动运行依然保留之前的状态。另外最重要的一个特点是,因为他是基于 Python语言的库,所以是可以跨平台的,一段代码,处处运行。正在上传…重新上传取消。原创 2022-10-05 10:02:09 · 1654 阅读 · 0 评论 -
Python 解析txt文件获取Json中数据并提取 Python解析Json数据 Json键值对数据提取 Python解析中文Json Python提取数据
Python 解析txt文件获取Json中数据并提取,Python解析Json数据 Json键值对数据提取日常工作中面对一些接口数据需要做提取分析,复制Json数据到txt文本文档中需要其中某个key的所有value值。利用Python提取指定数据。提取数据描述,预期获取Json数据中的所有"problem_id"列表方便后续实现自动答题......原创 2022-06-06 06:30:00 · 2066 阅读 · 0 评论 -
JPype入门篇 -- Python调用Java代码并执行“Hello World”
JPype入门篇----Python调用Java代码并执行“Hello World!”JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足。 Python代码部分为以前的笔记,Java代码暂无记录Demo1-4为练习代码可自行封装,Demo5为实际使用时代码。案例演示Python调用Jar包过程和使用方法。关于调用过程中遇到的问题需多加练习Java基础方法调用和封装需理解方可得心应手的完......原创 2022-05-01 15:00:06 · 1190 阅读 · 0 评论 -
Python-Selenium WebUI自动化 Selenium-API整理(下)
Python-Selenium WebUI自动化 Selenium-API整理(下)笔记已时过境迁5年,Selenium或许不是再当时那个少年,文章仅记录过往整理笔记供学习参考思想和笔记整理技巧。原创 2022-04-24 06:15:00 · 258 阅读 · 0 评论 -
Python-Selenium WebUI自动化 Selenium-API整理(上)
Python-Selenium WebUI自动化 Selenium-API整理(上) Selenium UI自动化测试的核心思想还是不变,即使有更新基本UI操作思想应无大变化,下列文档仅记录思维学习和总结SeleniumUI自动化的常用api功能点如下。二、Selenium-API整理(上)1.浏览器的操作2.元素对象的定位方法汇总3.操作测试对象4.鼠标事件5.键盘事件6.打印信息原创 2022-04-15 13:53:28 · 298 阅读 · 0 评论 -
Python 解决pip更新升级后提示ModuleNotFoundError: No module named ‘pip‘问题
Python 解决pip更新升级后提示ModuleNotFoundError: No module named 'pip'问题Python第三方库通过pip管理安装使用,开始通过pip list查看已安装包cmd窗口提示更新,复制提示命令“pip install --upgrade pip”执行升级后更新提示成功,但是又异常信息再次执行pip命令仅包管理时提示报错出现了ModuleNotFoundError: No module named 'pip’这个错误。原创 2022-02-11 00:00:00 · 2704 阅读 · 9 评论 -
Python 导出项目依赖包配置文件 自动生成项目的requirements.txt文件 Python 项目 配置 依赖导出 txt
Python 导出项目依赖包配置文件 自动生成项目的requirements.txt文件 Python 项目 配置 依赖导出 txt当写好一个Python项目之后,为了别人便于快速运行该项目,一般是可以提供一个requirements.txt项目依赖包配置文件,该文件是通过“pipreqs”可自动生成方便重新运行部署。原创 2022-02-10 00:15:00 · 1133 阅读 · 2 评论 -
Python 使用pip命令提示WARNING: Ignoring invalid distribution
Python 使用pip命令提示WARNING: Ignoring invalid distribution使用python pip命令提示警告worning原创 2022-02-12 00:15:00 · 6086 阅读 · 7 评论 -
Python GUI程序卡顿或未响应 exe程序点击按钮卡死 tkinter界面卡死的解决办法 pyinstaller -F 打包exe程序 点击按钮程序卡死 后台线程启动解决方法 实战案例
Python GUI程序卡顿或未响应 exe程序点击按钮卡死 tkinter界面卡死的解决办法 pyinstaller -F 打包exe程序 点击按钮程序卡死 后台线程启动解决方法 实战案例Python GUI程序运行时,如果点击按钮运行了一个比较耗时的操作,那么界面会卡死提示未响应。原因是主进程执行耗时等待,可能是单次执行耗时过程或for循环或while死循环,本人讲解如何以多线程的方式解决GUI程序卡顿的问题。原创 2022-02-06 08:27:41 · 6918 阅读 · 2 评论 -
Python 依赖包安装很慢、安装失败等问题解决办法,快速安装Python依赖包? 解决方法:更改Python-pip安装源并配置 、whl文件安装
Python 依赖包安装失败解决办法,如何快速安装Python依赖包? 解决方法:更改Python-pip安装源并配置 、whl文件安装还有部分依赖安装包通过pip安装也会导致安装失败超时等问题或查无此包,此时需要通过whl文件安装pip 安装pip 调用第三方源 安装pip 设置默认第三方源pip whl文件下载pip whl文件安装安装 Python 软件包遇错误,怎么办?原创 2021-11-27 21:53:58 · 14444 阅读 · 2 评论 -
PyCharm设置虚拟环境 Virtualenv 简易 项目配置、运行、管理篇
PyCharm设置虚拟环境 Virtualenv 简易 项目配置、运行、管理篇项目开发中会根据不同的项目配置不同的Python运行环境,开发工具大多选用PyCharm进行项目开发,主要围绕PyCharm中如何设置和选择项目的编译环境进行讲解说明。 PyCharm 设置虚拟环境Virtualenv ,管理多个不同的项目环境,避免环境穿叉依赖包冲突等问题,维护系统环境变量的干净。如何在系统环境下安装 Python 虚拟环境 Virtualenv 教程?原创 2021-11-27 20:54:11 · 11752 阅读 · 2 评论 -
Python 虚拟环境 Virtualenv 简易 安装、管理、使用 教程
Python 虚拟环境 Virtualenv 简易 安装、管理、使用 教程安装 Virtualenv使用 安装 Virtualenv管理 安装 Virtualenv运行 Virtualenv调试 Virtualenvpip listpip install原创 2021-11-27 20:02:38 · 9725 阅读 · 1 评论 -
Python 文件读取和覆盖写入 txt文件读取json数据,覆盖写入json数据并做容错处理
Python 文件读取和覆盖写入 txt文件读取json数据,覆盖写入json数据并做容错处理读取txt文件,重写里面某个key值,然后覆盖写入文件。如果覆盖写入失败,则回滚值未修改前的代码,避免错误写入下次运行报错这段代码,其实就是模仿SpringBoot实现Mysql的事务管理通过@Transactional注解的方式 ,如果程序报错就自动回滚未插入前的数据。防止后台报错的时候sql被插入了。原创 2021-11-16 15:47:07 · 10822 阅读 · 1 评论 -
Python 接口测试或爬虫中Http请求的Header头快速构造,解决“Fiddler中请求可以,Python发送请求失败等问题排查和问题原因说明”
前言 “1 + 1 = 2” 耳濡目染,从而引出下方:url + request headers + request method + request body(data) = response headers + response data 遇见问题,发现问题,定位问题并解决问题,静下心看看公式慢慢调试,理解其“构造原理”。常见问题:1、Python 3.6.4 调用requests库中headers定义字段值发生变化 “梗”待解...原创 2021-11-01 11:40:52 · 8400 阅读 · 2 评论 -
Python之request库请求header头中常见异常错误,如:空格、中文、float、int类型错误总结
简易测试代码# -*- coding: utf-8 -*-# @Software: PyCharm# @File : test.py # @Author : benjamin# @Time : 2021/8/9 19:24import requestsheader = { "test":" " # 分别输入:空格、中文、int、float不同类型字符串测试验证}data = { "test":" "}requests.get(url="http...原创 2021-08-09 20:37:15 · 13075 阅读 · 1 评论 -
Python 文本txt追加写入并支持中文 UTF-8 编码 类似日志记录
例如:alist = [1, 2, 3, 4]sumalist =[5, 6, 7, 4, 3]#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Benjamin# @Time : 2019/7/9 23:09alist = [1, 2, 3, 4]new = []l...原创 2021-07-29 11:08:48 · 3336 阅读 · 0 评论 -
算法《幸运数字》由2,3, 5, 7 组成的幸运数字
幸运数字[题目描述] 蓝胖是个热爱数学的人,在他心目中每个数位都由2,3, 5, 7 组成的数字是他的幸运数字,而幸运数列是将所有幸运数字排序后得到的递增数列:2,3,5, 7, 22, 23, 25, 27, 32, 33, 35, 37, 52, 53, 55, 57, 72, 73, 75, 77, .. 蓝胖想知道这个数列中的第n个数字是多少,这个任务现在就交给你了。[输入] 本题包含多组数据,输入第一行为一个数Test, 表示数据组数。接下来每组数据包含一个数字...原创 2021-07-05 19:31:18 · 4486 阅读 · 3 评论 -
MySql 快速插入百万级数据,连接数过多错误码收集
背景: 利用Python多线程进程Mysql数据库连接和插入数据操作测试,由于线程数过多到处数据库连接和插入数据时出现各种异常记录。mysqlUtil.py# -*- coding: utf-8 -*-# @Software: PyCharm# @File : mysqlUtil.py # @Author : Benjamin# @Time : 2021/5/7 16:53import threadingimport MySQLdbimport s...原创 2021-05-07 20:35:52 · 614 阅读 · 1 评论 -
Python 装饰器 获取时间装饰器返回值 获取函数参数和函数返回值
Python 装饰器 获取时间装饰器返回获取函数参数和函数返回值1、获取定时装饰器的总时间值2、获取函数参数3、获取函数返回值4、同时获取前三者数据示例脚本:# -*- coding: utf-8 -*-# @Software: PyCharm# @File : threadIngTest.py # @Author : Benjamin# @Time : 2021/3/22 10:53import timedef run_time_decorator(...原创 2021-03-23 17:03:58 · 3919 阅读 · 1 评论 -
Python解析HttpRuner框架实现解析yml文件,构造接口请求通过执行多线程参数化完成接口测试
前言: HttpRunner是一大神器配合Charles或者Fiddler抓包导出Har文件,可实现最简单的接口录制和回放。Har包也很容易被转化为yml供HttpRunner框架使用。 本次练习和使用的场景主要是解决HttpRunner框架不熟悉或者操作不便,实现接口测试更多的玩法更能配合实现多线程接口测试。这里只介绍简答的入门示例提供思路,深入的自己玩去吧。业务场景分析: 基于HttpRunner的性能测试或者单个yml文件连续请求多次的使用方法不是很熟悉...原创 2021-03-05 11:39:57 · 1058 阅读 · 1 评论 -
Mac下Python 多进程假死或卡死或阻塞的情况, Queue.get()方法和Queue.empty()方法问题记录
Mac下Python 多谢进程假死或卡死或阻塞的情况python中,队列是线程间最常用的交换数据的形式。queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。1. 阻塞模式q = queue.Queue(10) #创建一个队列...... for i in range(10): q.put('A') time.sleep(0.5)这是一段极其简单的代码(另有两个...原创 2020-12-22 19:37:43 · 12567 阅读 · 1 评论 -
Python 进程+协程并发小练习 假设10w个url地址每个请求1秒尝试用4个进程每个进程开启1000个协程去请求统计运行时间
练习题目进程+协程实现并发小练习假设一个队列中有100000个url地址,每个请求需要1秒钟,尝试用4个进程每个进程开启1000个协程去请求,统计运行时间示例代码# -*- coding: utf-8 -*-# @Time : 2020/12/22 1:49 下午# @Author : Benjamin# @File : testGevent.py# @Software: PyCharmfrom gevent import monkey;mon...原创 2020-12-22 19:13:44 · 8556 阅读 · 1 评论 -
Mac下 Python Pytest+allure 安装与配置和脚本调试 示例
前提电脑安装了jdk1.8+,自行百度下载allure下载链接: https://pan.baidu.com/s/18bKG2FDfLfIIrw2qkejftQ 提取码: trj4配置allure1.在终端输入命令:vi ~/.bash_profile2.加上allure的路径第一条直接复制过去就好了,第二条将${PATH}:后面的路径改为自己allure的路径export PATH=/usr/bin:/bin:/usr/sbin:/sbin...原创 2020-12-17 16:49:54 · 4556 阅读 · 4 评论 -
Python 实现二分法快速查找
算法:(设查找的数组期间为array[low, high])(1)确定该期间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]>T 由数组的有序性可知array[k,k+1,……,high]>T;故新的区间为array[low,……,K-1]b.array[k]<T 类似上面查找区间为array[k+1,……,high]。每一次查找与中间值比较,可以确定是否查找成功,不成功...原创 2020-09-24 23:29:00 · 431 阅读 · 1 评论 -
Python Win建立virtualenv虚拟环境,解决pyinstaller打包exe时包体过大的问题
背景 打包命令pyinstaller -F testGUI.py,dist产出的exe程序再正式环境中打的包体可能特别大50多M不易于交付,不同电脑打包可能还有区别正常应该是8-15m左右的大小。 为解决pyinstaller打包包体大小不固定的问题的解决方案为,创建虚拟机环境仅安装必要的依赖包打包,在感觉独立的环境中打包每次包体大小可以得到很好的控制。 虚拟环境可以理解为docker之类的虚拟容器,环境独立干净,同正式环境区分互不影响。1. 安装virtualen...原创 2020-09-15 10:46:30 · 1450 阅读 · 1 评论 -
Python 统计字符串中出现重复“关键字”字符串的次数,并去除最大值和第二大值
1、统计字符串出现重复字符串的次数,并打印出具体数据。2、取出数组中,最大值和第二大值的数据(如果有多个只取其中1个)。test = "Egg Hammock Chair Cushion Hanging Basket Swing Chair Cushions Swing Seat Cushion Thick Nest Back(Cushion only)"# 字符串切割new = test.replace("("," ")new = new.replace(")"," ")new = n原创 2020-09-15 10:15:36 · 1099 阅读 · 1 评论 -
Android 移动端海外 多语言 Python 一键查询key或模糊匹配 GUI工具集成
简介: Python一键查询key或模糊匹配GUI工具是一款支持apk反编译资源目录后快速验证多个国家string.xml的语言配置工具,国家顺序和国家配置可灵活配置,同时查询支持两种方式查询。 开发工具的初衷为的解决日常重复而繁琐的多语言验证字符串准确性验证,普遍操作是一次操作看5、6部手机每部手机切换不同语言对比验证,多语言不认识的情况人工仅核对头尾符合然后再逐一标记其正确性,再检查UI超边界显示齐全的问题这算比较常规的操作。若中途开发有修改或新增某几处多语言时又要重新操作,耗时...原创 2020-09-11 20:34:19 · 3292 阅读 · 3 评论 -
Android移动应用 反编译res资源文件目录 GUI工具集成
前言:Android移动端反编译工具挺多的,这里推荐使用apktool工具命令行模式反编译apk工具非常方便。日常工作需要经常反编译apk获取资源目录文件会有一大堆无用文件,只需保留res目录即可。项目地址:https://github.com/Github-Benjamin/MultiLanguageAutoTest工具截图反编译后文件目录结构截图resources.arsc 资源文件反编译apk 反编译代码执行命令如下:apktool d -f --no-src xxx.apk原创 2020-09-11 19:55:50 · 1229 阅读 · 3 评论 -
原始数据反推上下浮动随机数分析
需求:1、原始数据为A2、B为数组包含3个元素,3个元素的平均值为A3、C为3个数组组成,每个数组由3个元素的平均值为B中的对应元素值4、给定的原始数据A范围为0-6,不可为负数不能大于6,A变化区间 +- 0.5import random# 设置数组:上线浮动区间值def setFloatList(first,accuracy): first = float(first) accuracy = float(accuracy) if firs...原创 2020-08-14 20:01:49 · 2189 阅读 · 1 评论 -
【Python】bytes和hex字符串之间的相互转换
反复在几个环境上折腾码流的拼装解析和可读化打印,总是遇到hex字符串和bytes之间的转换,记录在这里吧。1. 在Python2.7.x上(更老的环境真心折腾不起),hex字符串和bytes之间的转换是这样的:>>> a = 'aabbccddeeff'>>> a_bytes = a.decode('hex')>>> print(a_bytes)b'\xaa\xbb\xcc\xdd\xee\xff'>>>...转载 2020-07-15 17:03:08 · 969 阅读 · 1 评论 -
Python DES加密解密方法 pyDes库 兼容中文
单纯记录一下Python中DES加密解密的使用方式直接看代码:依赖pyDes库安装>pip install pyDes 约定秘钥 python和java 加密和解密联调,兼容中文字符串Python代码段#!/usr/bin/env python# -*- coding: utf-8 -*-# encoding:utf-8# @Author : Benjamin# @Time : 2020/7/15 15:47from pyDes import des,...原创 2020-07-15 16:52:36 · 6871 阅读 · 1 评论 -
Python 多线程后台监测git提交记录执行自动化打包操作脚本
业务场景: 对一个项目进行后台监控共有3个check点,每check到一个点的变化就执行编译操作。业务分析: 1、3个Check点,分别对3个点进行实时轮循检查对比数据变化。如果数据发生变化就执行编译,若未变化则不执行 2、如果某一个Check点检查到数据变化并执行了编译,编译中则其他Check检查到变化则本次不执行编译等待下次轮循检查demo.py 两种方式解决业务场景问题#!/usr/bin/env python# -*- ...原创 2020-05-26 16:01:57 · 8172 阅读 · 2 评论 -
Android 移动端海外 Python多语言自动化测试验证
前言: 移动端产品出海后随着产品功能迭代,功能随之加多需要验证的多语言文案逐渐增多,测试验证文案对比耗时也越来越长。如:产品支持10余个国家平均产品文案200-300行左右,意味着需要验证的String文案有2000-3000的点对比这是一项非常繁琐而又耗时的工作,耗时长且容易漏掉。 文案为简述记录提供思路,以实际项目分析并非通用(适当修改也是支持...原创 2020-04-30 19:35:36 · 9552 阅读 · 1 评论 -
Python通过adb命令获取Android设备后台正在运行的第三方程序包名信息
adb命令解读获取Android系统后台正在运行的所有进程信息;adb shell ps ps:这里说明一下有个小坑,部分高版本手机存成兼容性问题故需加“ -A ”命令获取,命令如下。adb shell ps -A获取Android系统中正在运行的第三方应用程序信息adb shell pm list packages -3ps:该命令为adb提供的pm中的方法,故可直接调用。再...原创 2019-07-30 09:27:39 · 2471 阅读 · 1 评论 -
python操作MongoDB常用功能如:增、删、改、查、排序数据操作的代码详解
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Benjamin# @Time : 2019/8/7 21:02import pymongomyclient = pymongo.MongoClient("mongodb://192.168.230.129:27017/")# 获取库列表名称,以数组格式展示...转载 2019-08-07 22:46:27 · 962 阅读 · 0 评论 -
python&adb之安卓手机加速多线程kill所有第三方程序脚本
低端安卓手机一直存在一个诟病就是手机会越用越卡,后台应用会被“莫名其妙”的东西拉活或者自启导致用户在使用手机过程中卡顿。比如:日常工作中我们需要使用低端手机测试验证一个点,那就手机卡顿无疑是导致工作时间加长的一个原因。前提条件:adb 环境Python 环境首先获取被测手机上的所有第三方程序包名并记录下备用adb shell pm list pack...原创 2019-08-02 09:23:58 · 885 阅读 · 0 评论 -
Python Rides操作字符串、散列、列表(数组)的常用增、删、改、查操作
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Benjamin# @Time : 2019/8/7 21:01import jsonimport redis# 初始化redis数据,并对其数据解码r = redis.StrictRedis(host='192.168.230.129', password...转载 2019-08-08 23:11:26 · 1150 阅读 · 0 评论