Python

Python项目打包及发布

项目结构设置 在项目目录中建议建一个包,所有的代码实现放到包下,示例如下 注意:如果runner.py直接放到excel-runner中,并且setup.py未指定entry_points时,安装后就只用一个runner.py没有所属包。 requirements.txt和setup.py的区别 项目中一般既要有 requriements.txt(依赖包列表) 也有 setup.py(安装脚

内网环境下批量安装python库

最近组里安排了新内网,又要配环境。 众所周知,内网安装python库需要先到www.pypi.org找到对应版本的包,然后再下载whl文件,上传到内网,再用pip install "文件地址"去安装。 这样就会出现一个问题,鬼知道这个包需要的前置依赖是什么,pip会自动检查前置依赖,然后自动从源下载,但是内网又连不上互联网,然后要等三五次连接失败才结束。 深感这个过程之麻烦,于是写了两个power

Python 自动化测试的配置层实现方式对标与落地

Python中什么是配置文件,配置文件如何使用,有哪些支持的配置文件等内容,话不多说,让我们一起看看吧~ 1 什么是配置文件? 配置文件是用于配置计算机程序的参数和初始化设置的文件,如果没有这些配置程序可能无法运行或是影响运行(运行速度、便捷性等),使用配置文件的好处在于,部分内容以及环境运行时只需要修改配置文件的参数内容,而无需去代码里查找并修改,提高便捷性、提高可维护性。 2 配置文件有哪几种

十三、python字典dict

十三、python字典dict 字典:是一种key:value(键值对)类型的数据,它是无序的(没有像列表那样的索引,下标). 它是通过key来找value 底层就是hash表,查找速度快;如果key相等,会自动去重(去掉重复值),也就是说dict中没有重复的key,但是值是可以相等的。 字符串,列表,元组属于序列,所以有下标 1.字典的创建 2.字典的常见操作 3.其他操作

用python生成正玄波信号源码解析

一 前记 项目需要生成不同频点的正玄波信号,没找到现成的软件,只能自己写一个了。顺便温习一下python。   二 源码解析:   运行结果:   三 结果分析   生成的wav文件波形图:   对应的频谱图   作者:虚生 出处:https://www.cnblo

内置函数--解释文档

abs() 是 Python 内置的一个数学函数,用于返回指定数字的绝对值。abs() 函数常见用法如下: 其中,x 表示要求绝对值的数字,可以是整数、浮点数、复数等。如果 x 为整数或浮点数,则 abs() 函数将返回其绝对值;如果 x 为复数,则 abs() 函数将返回其模长(即复数的长度)。 下面是一些使用 abs() 函数的例子: 需要注意的是,abs() 函数只接受单个参数。如果需要

python+uiautomator2+weditor定位加载异常处理

首先 需要python 需要安装对应的weditor 版本,windows可能会出现高版本安装失败,需要自行去百度,mac可成功执行 其次插上设备、开发者选项开启,开启usb调试,传输文件格式 在控制台输入 python -m uiautomator2 init,就会自动安装atx软件 控制台默认输入pyhton -m weditor 会自动打开浏览器 直接点击connect即可,如果是满

一、区块量化 okx接口

1、搭建liunx环境 可以是centos7 2、安装python3或anaconda3 3、安装接口 pip3 install python-okx 4、下载接口文件 https://github.com/okxapi/python-okx 5、解压python-okx-master 除了okx文件夹,其它的全删 6、安装常用的python工具 pip3 install --upgrade pi

binary_search 二分查找

1.在列表中获取中间位置的值 2.将中间值和所需要查找的值做对比, 如果相等则返回中间值的位置 3.如果中间值小于所需要查找的值, 则将查找范围缩小到 left 至 mid-1 (即right 修改为 mid-1) 4.如果中间值大于所需要查找的值, 则将查找范围修改为 mid+1 至 right (即left 修改为 mid+1) 注: 该算法 永远只查找 中间值是否等于查找值, 无法找到第一个

Python - 方法参数中,带self和不带self的区别

不带self 该python文件中,没有类的概念。因此所有的方法参数中,没有self   如果未来要在其他类里引用该函数,那么import需要写成:   带self 该python文件中,有类的概念。因此所有的方法参数中,有self   如果未来要在其他类里引用该函数,那么import需要写成:  

python中parse的action = store_true含义

 我们在python脚本中经常看到 action = "store_true,如下图:     如果运行代码时加了   --image ,那么 image为true 如果没加 --image,那么image为False   这种写法通常用于判断,如下:  

multiprocessing

Process Pools 1. apply (func[, args[, kwds]]) 只能执行1次(只能输入一次参数) 支持多个参数(参数统一为元祖类型) 阻塞(只能等待这行代码执行完,才会执行下面的代码) 返回结果为函数执行结果 2. apply_async (func[, args[, kwds[, callback[, error_callback]]]]) 异步,不阻塞(子进程

shell 脚本学习

  shell 通配符   3、通配符和正则表达式比较 (1)通配符和正则表达式看起来有点像,不能混淆。可以简单的理解为通配符只有*,?,[],{}这4种,而正则表达式复杂多了。 (2)*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用*来匹配任意字符,而正则表达式

python自动使用虚拟环境和安装依赖

代码如下,Windows环境测试通过 import os import platform import re import sys from pathlib import Path def is_venv() -> bool: """判断是否处于虚拟环境(也适用于poetry的)""" if hasattr(sys, "real_prefix"): re

Jenkins-Slave节点 电脑A控制电脑B运行Python脚本

电脑A装了Jenkins的服务器,电脑B作为Jenkins的节点电脑(Slave) Jenkins服务的配置 1、Manage Jenkins > Configure System  找到Jenkins URL,确保不是127.0.0.1或者localhost就可以了。   2、Manage Jenkins > Configure Global Security

Python设计模式-02-建造者模式

建造者模式是一种创建型设计模式,它可以将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常包括以下几个角色: 产品(Product):表示被构建的复杂对象,通常包含多个部分或组件。 抽象建造者(Builder):定义了创建产品的抽象接口,包括创建产品的各个部分的方法。 具体建造者(Concrete Builder):实现了抽象建造者接口,负责创建产品的各个部

Python设计模式-03-原型模式

原型模式是一种创建型设计模式,它通过复制现有对象来创建新对象,而不是通过实例化类来创建新对象。原型模式通常包括以下几个角色: 原型(Prototype):定义了一个克隆自身的接口,用于复制现有对象。 具体原型(Concrete Prototype):实现了原型接口,负责复制自身。 客户端(Client):使用原型接口来复制现有对象,并创建新对象。 下面是一个简单的 Python 示例,演示了如

Python设计模式-04-单例模式

单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点。单例模式通常包括以下几个角色: 单例(Singleton):定义了一个静态方法或类方法,用于获取单例对象。 客户端(Client):使用单例对象来完成具体的操作。 下面是一个简单的 Python 示例,演示了如何使用单例模式创建一个只有一个实例的类: 在上面的示例中,我们定义了一个单例类 Singleton,它包含

Python设计模式-05-适配器模式

适配器模式是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常包括以下几个角色: 目标接口(Target):定义了客户端所期望的接口,可以是一个抽象类或接口。 适配器(Adapter):实现了目标接口,并持有一个被适配对象的引用,负责将客户端的请求转换成被适配对象的相应接口。 被适配对象(Adaptee):定义了一个已经存在的接口,但与客户端所期望的接口不一致

【Python入门教程】调取电脑摄像头并发送照片至邮箱

​         本博文纯属娱乐,仅供大家学习参考,不得以此侵犯他人隐私。本篇文章参考Python研究者的python窃取摄像头的图片。在这里先感谢大佬的付出,大家可以去关注一下。 一、获取邮箱授权码         授权码用于调用邮箱实

Python collections queue

collections 一、计数器(counter) Counter是对字典(无序)类型的补充,用于追踪值的出现次数。 使用counter需要导入 collections 类 具备字典的所有功能 + 自己的功能 1、创建一个计数器 2、查看计数器变量 3、查看计数器可使用的方法 collections.Counter 函数方法 4、常用的计数器操作 most_common

一条新的glibc IO_FILE利用链:_IO_obstack_jumps利用分析

一条新的glibc IO_FILE利用链:_IO_obstack_jumps利用分析 本文首发于[跳跳糖],仅在个人博客记录。由于跳跳糖的文章无法修改,所以本文有部分不同 前言 众所周知,由于移除了__malloc_hook/__free_hook/__realloc_hook等等一众hook全局变量,高版本glibc想要劫持程序流,离不开攻击_IO_FILE。而笔者近期在国外大佬博客中发现一

Python设计模式-08-桥接模式

桥接模式是一种结构型设计模式,它将抽象部分和实现部分分离开来,使它们可以独立地变化。桥接模式通常包括以下几个角色: 抽象部分(Abstraction):定义了抽象部分的接口,并持有一个实现部分的引用。 扩展抽象部分(Refined Abstraction):扩展了抽象部分的接口,可以包含一些额外的行为。 实现部分(Implementor):定义了实现部分的接口,可以是一个抽象类或接口。 具体实现

Python设计模式-09-组合模式

模式是一种结构型设计模式,它允许我们将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式通常包括以下几个角色: 组件(Component):定义了组合中所有对象的通用接口,可以是一个抽象类或接口。 叶子节点(Leaf):表示组合中的叶子节点,它没有子节点。 组合节点(Composite):表示组合中的组合节点,它可以包含其他组件作为子节点。 下面是一个简单的 Python 示例,演示了

Python设计模式-10-外观模式

外观模式是一种结构型设计模式,它提供了一个简单的接口,隐藏了系统的复杂性,使得客户端可以更容易地使用系统。外观模式通常包括以下几个角色: 外观(Facade):提供了一个简单的接口,隐藏了系统的复杂性,使得客户端可以更容易地使用系统。 子系统(Subsystem):实现了系统的功能,但对客户端是不可见的。 下面是一个简单的 Python 示例,演示了如何使用外观模式隐藏系统的复杂性: 在上面

运行python -m uiautomator2 init报错AttributeError: module 'collections' has no attribute 'MutableMapping'问题,已解决

报错信息:   解决方法: 1、执行pip install uplink 2、重新执行python -m uiautomator2 init 3、无报错信息,执行成功

Python设计模式-11-享元模式

享元模式是一种结构型设计模式,它通过共享对象来减少内存使用和对象创建的数量。享元模式通常包括以下几个角色: 享元工厂(Flyweight Factory):负责创建和管理享元对象。 享元(Flyweight):表示共享的对象,包含内部状态和外部状态。 内部状态(Intrinsic State):存储在享元对象内部的状态,不会随着外部环境的改变而改变。 外部状态(Extrinsic State):

Python设计模式-14-策略模式

策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式通常包括以下几个角色: 环境(Context):维护一个对策略对象的引用,并将客户端请求委托给当前策略对象。 抽象策略(Strategy):定义了一个接口,用于封装具体算法的实现。 具体策略(Concrete Strategy):实现了抽象策略定义的接口,并具体地实现了算法。 下面是

Python设计模式-15-责任链模式

责任链模式是一种行为型设计模式,它允许多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。责任链模式通常包括以下几个角色: 抽象处理者(Handler):定义了一个接口,用于处理请求,并维护一个对下一个处理者的引用。 具体处理者(Concrete Handler):实现了抽象处理者定义的接口,并具体地处理请求。如果它不能处理请求,则将请求转发给下一个处理者。 客户端

Python设计模式-16-命令模式

命令模式是一种行为型设计模式,它将请求封装成对象,从而允许我们将请求的发送者和接收者之间的耦合关系解耦。命令模式通常包括以下几个角色: 命令(Command):定义了一个接口,用于封装具体命令的实现。 具体命令(Concrete Command):实现了命令定义的接口,并具体地实现了命令的逻辑。 接收者(Receiver):定义了命令的接收者,并实现了命令的具体逻辑。 发送者(In

<<  <  723  724  725  726  727  728  729  730  731  732  733  >  >>