自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(578)
  • 收藏
  • 关注

原创 7-zip下载、安装

7-Zip 官方中文网站 (sparanoid.com)7-Zip - 程序下载 (sparanoid.com)

2024-05-06 17:11:51 149

原创 Linux环境创建普通用户,授权root权限。报错:usermod: group ‘sudo‘ does not exist

执行以下命令,将username替换为你刚才创建的用户名。然而,在某些Linux发行版(比如基于Red Hat的系统,如CentOS、Fedora等)中,确实存在一个名为。2. 执行以下命令创建一个新的用户,其中username为你想要创建的用户名,可根据实际情况自行更改。如果你正在使用基于Debian或Ubuntu的系统,并且想要允许一个用户使用。3. 设置该用户的密码,执行以下命令,并按照提示输入两次密码。但是,如果你需要进一步的配置或自定义权限,你可以编辑。的组,并且该组的成员可以使用。

2024-05-06 17:07:37 309

原创 Python使用设计模式中的建筑模式将数据写入Excel且满足条件内容标红

该类有三个方法:`__init__`用于初始化构建器,`add_row`用于逐行添加统计结果,`export_excel`用于将构建好的Excel表格导出到文件中。worksheet.conditional_format('B2:D1000', {'type': 'cell', 'criteria': '>', 'value': 25, 'format': red_format})这行代码是用来设置 Excel 工作表中的条件格式的。是用来定位DataFrame中下一个可用的行,并将数据添加到这一行中。

2024-04-29 14:13:02 756

原创 Python使用设计模式中的策略模式实现统计各类分析结果功能

在这个示例中,我们首先定义了一个统计策略接口`StatisticsStrategy`,其中包含一个`calculate`方法用于计算统计结果。接着,我们定义了一个`StatisticsCalculator`类,它接受一个统计策略作为参数,并提供了一个`calculate`方法用于执行统计计算。最后,我们创建了一个包含不同类别数据的字典,并使用统计器来计算各类别的结果。在这个场景中,不同的统计算法可以作为不同的策略,我们可以根据需要选择合适的策略来统计各类的结果。策略模式实现统计各类的结果功能。

2024-04-29 11:36:35 260

原创 Python将浮点数格式化为字符串,精确到小数点后十位的精度

这样的格式化字符串来将计算得到的百分比值精确到千万分之一的位数。然后,在示例用法中,我们调用了这个函数并打印出结果,这样就可以得到百分比精确到千万分之一的值。要将百分比精确到千万分之一,你可以在计算百分比后使用格式化字符串进行精确控制。这个表达式是一个 Python 中的字符串格式化方法,它将一个浮点数。这个浮点数格式化为一个字符串,并且保留小数点后十位的精度。格式化为一个字符串,并且指定了精确到小数点后十位的精度。在这个示例中,我们使用了。

2024-04-28 09:41:10 152

原创 设计模式:迪米特法则(Law of Demeter,LoD)介绍

迪米特法则(Law of Demeter,LoD),也称为最少知识原则(Least Knowledge Principle,LKP),是面向对象设计原则之一,它强调一个对象应该对其他对象有尽可能少的了解,不要和陌生对象直接通信,而是通过中间对象来进行间接通信。这样可以降低对象之间的耦合度,减少对象对其他对象的了解。如果一个对象需要与其他对象进行通信,应该通过中间对象来进行间接通信,而不是直接调用陌生对象的方法或访问其属性。对象之间的关系应该简单明了,避免过度依赖其他对象的细节,保持对象之间的松耦合关系。

2024-04-25 18:29:25 332

原创 设计模式:单一职责原则(Single Responsibility Principle,SRP)介绍

单一职责原则(Single Responsibility Principle,SRP)是面向对象设计原则之一,它强调一个类应该只有一个引起变化的原因。一个类如果承担了多个职责,就容易导致功能之间的耦合,当一个功能需要修改时,可能会影响到其他功能。而遵循单一职责原则,可以降低类之间的耦合性,使得代码更加灵活和易于维护。当系统需要新增或修改功能时,可以更容易地重用已有的类,而不需要对现有的类进行大量修改。这样,每个类都只需关注自己的单一职责,使得类更加内聚,代码更加清晰。

2024-04-25 18:11:25 131

原创 设计模式:接口隔离原则(Interface Segregation Principle,ISP)介绍

接口隔离原则(Interface Segregation Principle,ISP)是面向对象设计原则之一,它强调一个类不应该依赖于它不需要的接口。接口隔离原则的核心思想是。将一个大的接口拆分成多个更小、更具体的接口,每个接口都应该包含客户端所需的方法。每个接口应该只包含一个单一的职责或者功能,这样可以避免客户端依赖于不需要的方法。接口应该精简、清晰,避免包含过多的方法,以确保每个接口的职责清晰明确。

2024-04-25 17:53:24 287

原创 设计模式:依赖倒转原则(Dependency Inversion Principle,DIP)介绍

依赖倒转原则(Dependency Inversion Principle,DIP)是面向对象设计原则之一,它强调高层模块不应该依赖于底层模块,二者都应该依赖于抽象。同时,抽象不应该依赖于具体实现细节,具体实现细节应该依赖于抽象。高层模块通过依赖注入的方式将具体实现类的对象注入到抽象接口或者抽象类中,从而实现高层模块和底层模块的解耦。这样,高层模块就不会依赖于底层模块的具体实现细节。底层模块实现抽象接口或者抽象类,从而达到高层模块和底层模块之间解耦的目的。

2024-04-25 17:27:26 373 1

原创 设计模式:合成复用原则(Composite Reuse Principle,CRP)介绍

将已有的类组合在一起,形成一个新的类,新的类可以通过调用组合类的方法来实现功能。这样,可以避免类继承所带来的耦合性和复杂性,提高代码的灵活性和可维护性。将系统划分为多个模块,每个模块都是一个相对独立的功能单元,通过组合不同的模块来实现系统的功能。在合成复用过程中,应该遵循依赖倒置原则,即依赖于抽象而不是具体实现。组合类应该依赖于抽象接口或者抽象类,而不是具体的实现类。合成复用原则(Composite Reuse Principle,CRP)是面向对象设计原则之一,它强调通过。合成复用原则的核心思想是。

2024-04-25 15:24:38 500

原创 设计模式:里氏代换原则(Liskov Substitution Principle,LSP)介绍

子类可以扩展父类的功能,但不能收缩或修改父类已有的功能。也就是说,子类可以在父类的行为基础上进行扩展,但不能修改或删除父类已有的行为。里氏代换原则(Liskov Substitution Principle,LSP)是面向对象设计原则的一部分,它强调。子类方法的返回类型必须与父类方法的返回类型兼容,这意味着子类方法的返回值可以是父类方法返回值的子类型。子类继承父类时,必须实现父类中声明的所有抽象方法,并且保持方法签名和语义的一致性。换句话说,子类对象应该可以在不改变程序正确性的前提下替换掉父类对象。

2024-04-25 15:12:43 668

原创 设计模式:开放-封闭原则(Open-Closed Principle,OCP)介绍

开放-封闭原则(Open-Closed Principle,OCP)是面向对象设计原则之一,它指导我们编写可扩展和易维护的代码。也就是说,我们应该通过扩展现有代码来实现新功能,而不是直接修改现有代码。这样,当需要新增功能时,可以通过实现新的抽象类或接口来扩展现有功能,而不是修改原有的类或函数。客户端代码针对抽象类型编程,而不是针对具体实现编程,从而使得新的实现可以无缝替换原有实现,而不影响客户端代码。这样,在需要修改功能时,只需替换依赖对象,而不需要修改调用者的代码。

2024-04-25 14:51:08 739

原创 AI工具集

常见AI工具集。

2024-04-25 14:02:08 158

原创 Allure插件常用方法介绍

Allure是一个强大的测试报告框架,提供了一系列方法来生成漂亮、交互式的测试报告。下面是Allure插件的一些常用方法的详细介绍:attach:将附件添加到报告中。step:创建一个测试步骤。feature:指定测试用例所属的功能特性。story:指定测试用例所属的用户故事。issue:指定测试用例相关的问题或缺陷。severity:指定测试用例的严重程度。link:添加一个链接到测试报告中。这些只是Allure插件的一小部分方法,它们可以帮助您创建更具可读性和可视化效果的测试报告。

2024-04-24 17:42:13 1009

原创 Allure报告显示TREND和History内容

即,不直接覆盖原有文件,而是将新文件保存为新的文件名或保存在不同的子目录中。这样,你可以保留所有历史版本的数据,而不仅仅是最新的20份。如果你定期遵循这样的流程,Allure将每次保留来自最新20份报告的数据在allure-results/history中。这样,即使文件的基本名称相同,由于后缀的不同,也不会覆盖原有的文件。如果历史数据的数量超过了20份,你可以删除最旧的一些报告数据,以确保只保留最新的20份。这样,当生成新的报告时,Allure将能够访问到这些历史数据并在报告中显示趋势。

2024-04-24 15:08:40 1139

原创 Python使用Grab模块和Beautiful Soup模块抓取网络数据、解析HTML内容

************************************************************************Python Grab 内置解析器 解析HTML网页内容********************************:Beautiful Soup 可以解析 HTML 和 XML 文档,能够将复杂的网页结构转换为一个 Python 对象的层次结构,方便提取其中的数据。------------------------标题: 百度一下,你就知道。

2024-04-23 10:09:55 577

原创 Python 实现 Mock 数据功能(模拟真实对象的行为)

当你需要在 Python 中测试某些代码时,有时你希望模拟(或者说替换)某些部分,以便更好地控制测试环境。Mock 对象可以模拟真实对象的行为,使你能够在测试中对其进行配置,以便更容易地进行测试。让我们以一个简单的例子来说明如何在 Python 中使用 Mock 功能。假设你有一个简单的加法函数,并使用 Mock 功能来测试。属性配置了 Mock 对象的行为,使其在调用时返回预先设定的值。最后,我们使用 Mock 对象调用了被测试的。,并且使用了 Mock 功能来测试。函数的行为,而不依赖于真实的实现。

2024-04-22 15:53:01 137

原创 pytest使用 pytest-rerunfailures 插件实现失败用例重跑功能

使用 pytest 进行测试时,你可以通过安装并配置 pytest-rerunfailures 插件来实现失败用例重跑功能。在这个示例中,我们设置了重试次数为 2 次。如果某个测试用例失败,则会在失败后重新运行该测试用例两次。通过以上步骤,你就成功地使用 pytest-rerunfailures 插件实现了失败用例重跑功能。测试用例失败了,然后在重试两次后依然失败了。其他测试用例通过了。则是一个总是失败的测试用例。是一个参数化测试用例,而。如上所示,在第一次运行时,假设你有一个测试文件。

2024-04-22 14:36:05 577

原创 Python使用random模块随机生成ip、端口、字符串

这两个字符串常量是 Python 内置的,分别表示了字母和数字的字符集。函数的第一个参数是一个可迭代对象,表示抽样的来源。在这里,我们将字母和数字和特殊符号组合在一起,构成了一个包含所有可能字符的序列。在这里,范围是从 0 到 255,即一个 IPv4 地址中的每个部分的取值范围。是 Python 中用于生成随机抽样的函数之一,它可以从给定的序列中进行有放回或无放回的抽样,生成指定数量的元素。的作用是生成一个包含四个随机整数字符串的列表,这个列表代表了一个随机的 IPv4 地址的各个部分。

2024-04-22 11:31:03 454

原创 介绍TCP三次握手、传输数据、四次挥手标志为确认号变化规律

在整个过程中,序列号和确认号的变化规律确保了数据的顺序性和可靠性。每次发送数据包时,发送方都会将当前序列号加1,并在接收方确认后,接收方会发送一个带有下一个期望序列号的确认包。在整个过程中,序列号和确认号的变化始终保持着连续性,确保了数据的正确顺序和可靠性。每个数据包都有一个唯一的序列号,接收方在发送确认包时,会指定下一个期望接收的序列号。这种机制保证了数据的完整性和顺序性,使得TCP成为一个可靠的传输协议。TCP协议的三次握手是一个关键过程,用于在客户端和服务器之间建立可靠的连接。

2024-04-22 09:39:08 356

原创 介绍TCP窗口

如果接收方的处理速度跟不上发送方的速度,TCP窗口可能会减小,以便发送方减缓发送速度,以防止数据丢失或拥塞。:TCP会通过接收到的确认信息来估计网络的延迟和丢包率,根据这些信息来调整发送速率和窗口大小,以尽量保持网络的稳定性和吞吐量。总之,TCP协议具有自适应性,能够根据网络条件和接收方的反馈动态调整发送速率和窗口大小,以提供最佳的性能和可靠性。:如果网络出现拥塞或丢包,TCP会根据拥塞控制算法自动调整窗口大小,以减少发送速率,从而降低网络拥塞的程度。

2024-04-19 10:52:34 309

原创 介绍TCP协议标志位

TCP协议中的控制位(Flags)是TCP头部中的6个标志位,用于控制TCP连接的建立、维护和终止过程,以及在数据传输中的一些特定行为。这些控制位的组合和状态变化规则定义了TCP连接的建立、维护和关闭过程,以及在数据传输中的一些特定行为,确保了TCP连接的可靠性和稳定性。总的来说,ECE和CWR用于拥塞控制,帮助TCP协议适应网络拥塞情况,而NS则是为了增强TCP协议的安全性而预留的一个标志位。

2024-04-18 10:55:30 269

原创 Excel使用 CONCATENATE 函数或“&”符号拼接多列数据

如果你想在Excel中拼接多列数据,你可以使用Excel的函数来实现。其中一个常用的函数是`CONCATENATE`函数或者更简洁的`&`符号。这将达到与 CONCATENATE 函数相同的效果,但使用了更简洁的语法。然后,你可以将这些公式拖动或复制到其他单元格,以便拼接整个数据集中的多列数据。这将拼接 A 列、B 列和 C 列的数据,以及一些额外的文本。1. **使用 CONCATENATE 函数:**2. **使用 & 符号:**

2024-04-16 14:07:15 343

原创 Python创建文件并写入内容

Python的文件操作来创建一个.py文件并写入内容。

2024-04-15 18:39:07 105

原创 Python调用random模块choice()函数随机选择数组中的元素

模块来获取数组中的随机值。如果数组是列表或者其他类似的序列,你可以使用。函数来随机选择一个元素。中随机选择一个元素,并将其赋值给。在Python中,你可以使用。

2024-04-15 17:37:20 99

原创 寄存器偏移地址介绍

总的来说,寄存器偏移地址是用于访问内存映射设备或寄存器映射设备中特定寄存器的地址偏移量,通过与基地址相加,可以确定要访问的寄存器的物理地址,从而进行读写操作。为了方便软件开发者访问设备的寄存器,通常会提供寄存器映射表,该表列出了每个寄存器的偏移地址以及其功能描述,开发者可以根据表格中的信息进行寄存器的读写操作。要访问特定寄存器,通常需要将基地址与寄存器偏移地址相加,生成要访问的寄存器的物理地址,然后通过该物理地址进行读取或写入操作。是该虚拟设备的基地址,所有寄存器的偏移地址都是相对于这个基地址而言的。

2024-04-15 10:07:18 372

原创 AXI4总线信号

AXI4(Advanced eXtensible Interface 4)是一种高性能、低功耗、可扩展的总线协议,由ARM公司推出。它被广泛应用于各种数字系统中,特别是嵌入式系统中。AXI4总线协议定义了一套规范,用于描述多个主设备和多个从设备之间的通信机制。主设备是指能发起读写事务的设备,而从设备是指接收并响应这些事务的设备。AXI4总线协议提供了高带宽、低延迟的数据传输方式,同时支持多个主设备和多个从设备的并发操作。

2024-04-10 11:32:27 563 1

原创 Visual Studio Code SSH 连接远程服务器

2. **配置 SSH**:在 VS Code 中,点击左下角的 "Remote Explorer" 图标,然后点击上方的齿轮图标,选择 "SSH Targets: Open SSH Config"。3. **连接远程服务器**:在 "Remote Explorer" 中,点击上方的连接图标,选择 "Connect to Host"。4. **免密登录**:一旦连接成功,VS Code 将使用你的私钥文件进行身份验证。确保将 "服务器IP地址或域名"、"用户名" 和 "本地私钥文件路径" 替换为实际的值。

2024-04-09 09:51:29 399 2

原创 Python 的 subprocess.Popen 指定目录启动程序输出结果写入文件

标准输出(stdout)和标准错误(stderr):子进程的输出会被解码为文本,而不是字节流。标准输出(stdout)和标准错误(stderr):子进程的输出会被解码为文本,而不是字节流。标准输入(stdin):如果你向子进程发送文本数据,Python 会将其编码为字节流并传递给子进程的标准输入。的作用是在 Python 中使用文本模式处理标准输入、输出和错误流,使得处理文本数据更加方便。的作用是在 Python 中使用文本模式处理标准输入、输出和错误流,使得处理文本数据更加方便。

2024-03-27 11:07:44 1000

原创 Python subprocess 模块poll() 函数、wait() 函数、terminate() 函数介绍

一、poll()一、poll()

2024-03-26 17:11:32 644

原创 python修改txt文件指定行内容

在这个示例中,我们首先读取了文件的所有行内容,然后修改了第三行(索引为2)的内容为 "New content for line 3",最后将修改后的内容写回到文件中。

2024-03-22 10:49:06 435

原创 python实现 linux 执行命令./test启动进程,进程运行中,输入参数s, 再输入参数1, 再输入参数exit, 获取进程运行结果重定向写入到文件

在这段代码中,我们使用 `subprocess.Popen` 来启动 `./test` 进程,并使用 `stdin.write` 方法向进程输入参数,通过 `stdin.flush` 确保输入被发送到进程。要在 Python 中实现执行 `./test` 启动进程,并在进程运行中依次输入参数 `s`、`1`,最后输入参数 `exit`,并将进程的输出结果重定向写入到文件,你可以使用 `subprocess` 模块。你可以直接执行这段代码来实现输入参数、控制进程功能,并将进程的输出结果写入到文件中。

2024-03-21 18:52:41 375

原创 Python测试框架Hypothesis 常用函数、方法

Hypothesis 是一个基于属性的测试框架,提供了各种函数和方法来帮助生成测试数据、定义属性和执行测试。

2024-03-21 17:14:30 316

原创 Python基于属性的测试库Hypothesis 介绍和使用

测试用例中我们定义了两个随机浮点数作为输入,并使用 `assert` 语句验证了被测函数 `divide` 的行为是否满足属性(即除法的逆运算)。在 Python 中,Hypothesis 是一个基于属性的测试库,它用于支持测试驱动开发(TDD)和属性-based testing。它提供了丰富的数据生成策略,使得测试用例可以覆盖更广泛的输入空间,从而提高测试的质量和全面性。通过这种方式,Hypothesis 将自动生成大量的随机测试数据,并运行测试函数,以便发现潜在的 bug 或异常情况。

2024-03-21 16:44:42 393

原创 Python生成器模式

在 Python 中,生成器模式的实现原理主要基于生成器函数和迭代器协议。生成器函数是一种特殊的函数,它可以在需要时生成值并保持函数的执行状态,从而能够动态生成数据序列。生成器函数使用yield关键字来产生值,每次调用生成器函数时会返回一个生成器对象。

2024-03-20 10:59:39 550

原创 Linux普通用户,上传文件为何必须选择普通用户所在目录

这是出于安全性考虑的一种限制,目的是确保用户无法随意修改系统文件或其他用户的文件。当一个普通用户登录时,其当前工作目录通常是其家目录,因此上传文件时会默认保存到当前工作目录,即普通用户所在目录。如果想要上传文件到其他目录,需要确保该目录对应的权限允许该用户进行写操作,否则会受到权限拒绝的错误。在 Linux 中,超级用户(root 用户)可以在系统的任何目录进行写操作,因为超级用户拥有最高权限。但对于普通用户来说,上传文件必须选择普通用户所在目录或有相应权限的目录进行操作,以遵守文件系统权限的规则。

2024-03-19 11:37:17 194

原创 Python使用Scapy库修改pcap包MAC地址

此外,如果你需要更直观的工具来修改pcap包中的MAC地址,你也可以考虑使用Wireshark这样的网络协议分析器。请注意,修改pcap文件中的MAC地址可能会导致数据包在网络中不被正确处理,因为MAC地址是用于在网络层进行地址解析的。在修改MAC地址后,你可能需要重新计算数据包的校验和或进行其他必要的调整,以确保数据包在网络中的正确传输。脚本将读取原始pcap文件,修改每个数据包的MAC地址,并将修改后的数据包保存到一个新的pcap文件中。替换为你要修改的原始pcap文件的路径,将。"新的源MAC地址"

2024-03-18 17:05:42 413

原创 Python尝试循环连接服务器,如果连接成功则退出,如果超过3次连接失败则退出

下面是一个使用Python实现的程序,可以实现你描述的功能:通过SSH连接服务器并重启服务器,然后循环尝试连接服务器,如果连接成功则退出,如果超过3次连接失败则退出。在这个示例中,我们首先通过SSH连接服务器并重启服务器,然后循环尝试连接服务器。首先,请确保你已经安装了`paramiko`库,它是一个用于SSH连接的Python库。- `your_server_hostname_or_ip`:目标服务器的主机名或IP地址。- `your_password`:SSH连接使用的密码。

2024-03-14 15:33:34 391

原创 python 使用rsplit从右边开始分割2次,截取最后2部分以外的内容使用斜杠连接起来

在这个示例中,`rsplit()` 方法按照 `/` 进行分割,然后我们选择除了最后两个部分以外的部分并用 `/` 连接起来,得到想要的结果。要截取字符串中最后两个斜杠之前的内容,你可以使用 Python 的字符串分割和切片功能。

2024-03-14 10:11:47 120

原创 Python使用openpyxl库或pandas库创建.xlsx格式的Excel文件,并向文件不同的sheet按行或按列写入内容

【代码】Python使用openpyxl库或pandas库创建.xlsx格式的Excel文件,并向文件不同的sheet按行或按列写入内容。

2024-03-13 14:52:31 663

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除