Python
文章平均质量分 56
Lightning-py
这个作者很懒,什么都没留下…
展开
-
Python使用Grab模块和Beautiful Soup模块抓取网络数据、解析HTML内容
************************************************************************Python Grab 内置解析器 解析HTML网页内容********************************:Beautiful Soup 可以解析 HTML 和 XML 文档,能够将复杂的网页结构转换为一个 Python 对象的层次结构,方便提取其中的数据。------------------------标题: 百度一下,你就知道。原创 2024-04-23 10:09:55 · 325 阅读 · 0 评论 -
Python 实现 Mock 数据功能(模拟真实对象的行为)
当你需要在 Python 中测试某些代码时,有时你希望模拟(或者说替换)某些部分,以便更好地控制测试环境。Mock 对象可以模拟真实对象的行为,使你能够在测试中对其进行配置,以便更容易地进行测试。让我们以一个简单的例子来说明如何在 Python 中使用 Mock 功能。假设你有一个简单的加法函数,并使用 Mock 功能来测试。属性配置了 Mock 对象的行为,使其在调用时返回预先设定的值。最后,我们使用 Mock 对象调用了被测试的。,并且使用了 Mock 功能来测试。函数的行为,而不依赖于真实的实现。原创 2024-04-22 15:53:01 · 85 阅读 · 0 评论 -
pytest使用 pytest-rerunfailures 插件实现失败用例重跑功能
使用 pytest 进行测试时,你可以通过安装并配置 pytest-rerunfailures 插件来实现失败用例重跑功能。在这个示例中,我们设置了重试次数为 2 次。如果某个测试用例失败,则会在失败后重新运行该测试用例两次。通过以上步骤,你就成功地使用 pytest-rerunfailures 插件实现了失败用例重跑功能。测试用例失败了,然后在重试两次后依然失败了。其他测试用例通过了。则是一个总是失败的测试用例。是一个参数化测试用例,而。如上所示,在第一次运行时,假设你有一个测试文件。原创 2024-04-22 14:36:05 · 229 阅读 · 0 评论 -
Python使用random模块随机生成ip、端口、字符串
这两个字符串常量是 Python 内置的,分别表示了字母和数字的字符集。函数的第一个参数是一个可迭代对象,表示抽样的来源。在这里,我们将字母和数字和特殊符号组合在一起,构成了一个包含所有可能字符的序列。在这里,范围是从 0 到 255,即一个 IPv4 地址中的每个部分的取值范围。是 Python 中用于生成随机抽样的函数之一,它可以从给定的序列中进行有放回或无放回的抽样,生成指定数量的元素。的作用是生成一个包含四个随机整数字符串的列表,这个列表代表了一个随机的 IPv4 地址的各个部分。原创 2024-04-22 11:31:03 · 295 阅读 · 0 评论 -
Python创建文件并写入内容
Python的文件操作来创建一个.py文件并写入内容。原创 2024-04-15 18:39:07 · 104 阅读 · 0 评论 -
Python调用random模块choice()函数随机选择数组中的元素
模块来获取数组中的随机值。如果数组是列表或者其他类似的序列,你可以使用。函数来随机选择一个元素。中随机选择一个元素,并将其赋值给。在Python中,你可以使用。原创 2024-04-15 17:37:20 · 96 阅读 · 1 评论 -
Python 的 subprocess.Popen 指定目录启动程序输出结果写入文件
标准输出(stdout)和标准错误(stderr):子进程的输出会被解码为文本,而不是字节流。标准输出(stdout)和标准错误(stderr):子进程的输出会被解码为文本,而不是字节流。标准输入(stdin):如果你向子进程发送文本数据,Python 会将其编码为字节流并传递给子进程的标准输入。的作用是在 Python 中使用文本模式处理标准输入、输出和错误流,使得处理文本数据更加方便。的作用是在 Python 中使用文本模式处理标准输入、输出和错误流,使得处理文本数据更加方便。原创 2024-03-27 11:07:44 · 973 阅读 · 0 评论 -
Python subprocess 模块poll() 函数、wait() 函数、terminate() 函数介绍
一、poll()一、poll()原创 2024-03-26 17:11:32 · 537 阅读 · 0 评论 -
python修改txt文件指定行内容
在这个示例中,我们首先读取了文件的所有行内容,然后修改了第三行(索引为2)的内容为 "New content for line 3",最后将修改后的内容写回到文件中。原创 2024-03-22 10:49:06 · 326 阅读 · 0 评论 -
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 · 371 阅读 · 0 评论 -
Python测试框架Hypothesis 常用函数、方法
Hypothesis 是一个基于属性的测试框架,提供了各种函数和方法来帮助生成测试数据、定义属性和执行测试。原创 2024-03-21 17:14:30 · 309 阅读 · 0 评论 -
Python基于属性的测试库Hypothesis 介绍和使用
测试用例中我们定义了两个随机浮点数作为输入,并使用 `assert` 语句验证了被测函数 `divide` 的行为是否满足属性(即除法的逆运算)。在 Python 中,Hypothesis 是一个基于属性的测试库,它用于支持测试驱动开发(TDD)和属性-based testing。它提供了丰富的数据生成策略,使得测试用例可以覆盖更广泛的输入空间,从而提高测试的质量和全面性。通过这种方式,Hypothesis 将自动生成大量的随机测试数据,并运行测试函数,以便发现潜在的 bug 或异常情况。原创 2024-03-21 16:44:42 · 384 阅读 · 0 评论 -
Python生成器模式
在 Python 中,生成器模式的实现原理主要基于生成器函数和迭代器协议。生成器函数是一种特殊的函数,它可以在需要时生成值并保持函数的执行状态,从而能够动态生成数据序列。生成器函数使用yield关键字来产生值,每次调用生成器函数时会返回一个生成器对象。原创 2024-03-20 10:59:39 · 547 阅读 · 0 评论 -
Python使用Scapy库修改pcap包MAC地址
此外,如果你需要更直观的工具来修改pcap包中的MAC地址,你也可以考虑使用Wireshark这样的网络协议分析器。请注意,修改pcap文件中的MAC地址可能会导致数据包在网络中不被正确处理,因为MAC地址是用于在网络层进行地址解析的。在修改MAC地址后,你可能需要重新计算数据包的校验和或进行其他必要的调整,以确保数据包在网络中的正确传输。脚本将读取原始pcap文件,修改每个数据包的MAC地址,并将修改后的数据包保存到一个新的pcap文件中。替换为你要修改的原始pcap文件的路径,将。"新的源MAC地址"原创 2024-03-18 17:05:42 · 393 阅读 · 0 评论 -
Python尝试循环连接服务器,如果连接成功则退出,如果超过3次连接失败则退出
下面是一个使用Python实现的程序,可以实现你描述的功能:通过SSH连接服务器并重启服务器,然后循环尝试连接服务器,如果连接成功则退出,如果超过3次连接失败则退出。在这个示例中,我们首先通过SSH连接服务器并重启服务器,然后循环尝试连接服务器。首先,请确保你已经安装了`paramiko`库,它是一个用于SSH连接的Python库。- `your_server_hostname_or_ip`:目标服务器的主机名或IP地址。- `your_password`:SSH连接使用的密码。原创 2024-03-14 15:33:34 · 385 阅读 · 0 评论 -
python 使用rsplit从右边开始分割2次,截取最后2部分以外的内容使用斜杠连接起来
在这个示例中,`rsplit()` 方法按照 `/` 进行分割,然后我们选择除了最后两个部分以外的部分并用 `/` 连接起来,得到想要的结果。要截取字符串中最后两个斜杠之前的内容,你可以使用 Python 的字符串分割和切片功能。原创 2024-03-14 10:11:47 · 119 阅读 · 0 评论 -
Python使用openpyxl库或pandas库创建.xlsx格式的Excel文件,并向文件不同的sheet按行或按列写入内容
【代码】Python使用openpyxl库或pandas库创建.xlsx格式的Excel文件,并向文件不同的sheet按行或按列写入内容。原创 2024-03-13 14:52:31 · 642 阅读 · 0 评论 -
Python使用int()函数将16进制或2进制转换为10进制数
在Python中,可以使用int()函数将十六进制数转换为十进制数。这段代码首先将十六进制数1f4表示为字符串"1f4",然后使用int()函数将其转换为十进制数,结果为500。print(decimal_number) # 输出为500。原创 2024-03-12 11:35:18 · 709 阅读 · 0 评论 -
Python 使用 MyHDL库 实现FPGA板卡仿真验证
编写 MyHDL 硬件描述:使用 MyHDL 库编写 FPGA 项目的硬件描述,包括顶层模块、信号连接等。编写仿真测试:使用 Python 编写仿真测试脚本,利用 MyHDL 提供的仿真功能对硬件描述进行仿真验证。运行仿真:运行仿真测试脚本,检查功能是否符合预期。原创 2024-02-28 17:13:13 · 335 阅读 · 0 评论 -
Python 使用 仿真框架cocotb 实现FPGA板卡仿真验证
要使用 Python 结合仿真框架 Cocotb(Co-simulation COrner TestBench)实现 FPGA 板卡的仿真验证,您可以利用 Cocotb 提供的功能来编写测试台和仿真环境,与 Verilog/VHDL 设计进行交互并进行仿真验证。2. **编写 Cocotb 测试脚本**:使用 Python 结合 Cocotb 编写测试脚本,与 Verilog/VHDL 设计进行交互,并定义测试场景和预期结果。通过上述步骤,您可以使用 Cocotb 框架实现 FPGA 设计的仿真验证。原创 2024-02-28 17:09:53 · 387 阅读 · 0 评论 -
Python 使用 PyRTL库 实现FPGA板卡仿真验证
要使用 Python 结合 PyRTL 库实现 FPGA 板卡的仿真验证,您可以利用 PyRTL 提供的硬件描述语言和仿真功能来进行 FPGA 设计的验证。1. **编写 PyRTL 硬件描述**:使用 PyRTL 库编写 FPGA 项目的硬件描述,包括顶层模块、信号连接等。2. **编写测试脚本**:使用 Python 编写测试脚本,利用 PyRTL 提供的仿真功能对硬件描述进行仿真验证。3. **仿真验证**:运行测试脚本,对硬件描述进行仿真验证,检查功能是否符合预期。Python 测试脚本。原创 2024-02-28 17:06:45 · 356 阅读 · 0 评论 -
Python使用HDL 模拟器实现 FPGA 板卡的仿真验证
2. **编写测试脚本**:使用 Python 编写测试脚本,通过调用 Verilog 模拟器对 Verilog 设计进行仿真,并生成仿真波形。1. **编写 Verilog 设计**:首先,您需要编写 FPGA 项目所需的 Verilog 设计代码,包括顶层模块、IP 核等。4. **与 FPGA 开发工具集成**:将验证通过的 Verilog 设计加载到 FPGA 开发工具中进行综合、布局和调试。3. **仿真验证**:运行测试脚本,对 Verilog 设计进行仿真验证,检查功能是否符合预期。原创 2024-02-28 17:00:20 · 339 阅读 · 0 评论 -
Python实现FPGA板卡仿真验证方法
有一些商业和开源的HDL模拟器提供了Python接口或支持Python脚本控制,可以通过Python来调用模拟器进行仿真。:cocotb是一个基于Python的仿真框架,用于对HDL设计进行仿真和验证。通过cocotb,可以在Python中编写仿真测试用例,并与Verilog或VHDL代码进行交互,实现仿真和验证功能。:MyHDL是一个Python库,用于将Python代码转换为Verilog或VHDL代码,并进行仿真。通过MyHDL,可以在Python中编写硬件描述代码,并进行仿真验证。原创 2024-02-28 16:55:19 · 495 阅读 · 0 评论 -
python中yml文件值 value: 0135解析结果 93的原因分析
根据你提供的信息,你在解析一个 YAML 文件时遇到了问题。在 YAML 文件中,键值对中的值可以是字符串,整数,浮点数等类型,但在 Python 中,YAML 解析器会将这些值自动转换为适当的类型。这样,当解析 YAML 文件时,`value` 的值将会被识别为字符串类型,而不会被自动转换为整数。数据类型转换问题:在解析yml文件时,0135可能被误解为八进制数,对应的十进制值为93。原创 2024-02-19 11:16:16 · 146 阅读 · 0 评论 -
python使用工厂模式和策略模式实现读文件、分析内容功能
在上面的示例中,我们首先创建了一个 `AnalysisFactory` 类作为工厂模式的实现,根据不同的分析类型选择不同的分析策略。然后,我们定义了一个 `AnalysisStrategy` 基类以及两个具体的分析策略类 `WordCountStrategy` 和 `CharacterCountStrategy`,它们分别实现了对单词个数和字符个数的分析。最后,我们使用示例展示了如何使用 `FileAnalyzer` 类来对文件进行单词个数和字符个数的分析,并输出了分析结果。原创 2024-02-18 16:55:36 · 628 阅读 · 0 评论 -
Python高级属性访问使用方法
对象代理是一种将属性访问委托给另一个对象的技术,它可以用于实现属性的代理、属性的懒加载、属性的缓存等功能。Python高级属性访问的实现原理是通过特殊的方法和装饰器来实现对属性的访问和操作。这些高级属性访问方法可以让开发者在访问和操作属性时有更多的灵活性和控制权,可以根据实际需求自定义属性的行为。性能开销:由于高级属性访问涉及到方法的调用,可能会引入一定的性能开销,特别是在属性的访问和赋值频繁的情况下。属性计算:使用@property装饰器可以实现属性的计算逻辑,例如计算属性的平均值或格式化属性的输出。原创 2024-02-07 18:05:02 · 650 阅读 · 0 评论 -
Python访问超类中的方法 使用方法
函数来访问超类中的方法的实现原理是基于方法解析顺序(Method Resolution Order,简称MRO)。函数来访问超类中的方法可以提高代码的可读性和可维护性,但需要注意继承关系和MRO算法的特性。函数,我们可以在子类中访问超类中的属性和方法,并在需要的时候进行自定义或扩展。函数返回一个超类的对象,可以通过这个对象来调用超类中的方法。后,首先输出了父类中的打印语句,然后才输出了子类中的打印语句。函数,我们可以方便地访问父类中的方法,实现了代码的重用和扩展。方法,然后在子类中添加额外的打印语句。原创 2024-02-07 16:47:08 · 440 阅读 · 0 评论 -
Python子类化内置类型使用方法
注意,子类化内置类型并不是必须的,你可以直接使用内置类型提供的功能来完成你的任务。但是,如果你想要扩展内置类型的功能或者添加自己的定制行为,子类化内置类型是一个很有用的方式。总之,子类化内置类型是一种灵活的方式,可以根据需要扩展和定制内置类型的功能,并提供更具表达力和灵活性的代码。通过子类化,我们可以扩展和定制内置类型的功能,以满足特定的需求。使用子类化内置类型的好处是,我们可以在不破坏原有列表类型的基础上,扩展其功能。通过子类化内置列表类型,我们可以使用基类的方法和属性,并且还可以添加自己的方法和属性。原创 2024-02-07 16:35:17 · 467 阅读 · 0 评论 -
pytest+allure批量执行测试用例
可以看到,先执行 `setup_module` 的前置操作,然后依次执行每个测试用例的前置操作 `setup_function`,再依次执行每个测试用例,最后再依次执行每个测试用例的后置操作 `teardown_function`,最后执行 `setup_module` 的后置操作。在上述代码中,我们定义了两个前置操作 `setup_function` 和 `setup_module`,并用 `@pytest.fixture` 装饰器标记它们为用例级别的前置操作。原创 2024-02-05 16:45:24 · 2182 阅读 · 0 评论 -
python读py文件内容、获取指定名称的变量、修改变量值
函数首先将文件读取为行列表。然后,它查找包含指定变量名称的行,并将其替换为新的赋值行。最后,代码被写回原始文件。文件中确实存在要修改的变量名称。原创 2024-02-04 18:34:39 · 382 阅读 · 0 评论 -
Linux环境生成allure测试报告
对于大多数服务器环境,推荐使用 `allure generate` 而非 `allure serve`,因为这避免了处理 X11 相关问题的需要,并且更适合持续集成(CI)流程。如果你通过 SSH 连接到远程机器,并且远程机器上安装了 X11 服务器,你可以在 SSH 命令中使用 `-X` 或 `-Y` 选项来启用 X11 转发。这将在指定的目录(这里是 `allure-report`)中生成报告,然后你可以将报告目录中的内容拷贝到有图形界面的机器上查看,或者使用任何 HTTP 服务器来托管这些静态文件。原创 2024-02-04 17:50:36 · 828 阅读 · 0 评论 -
Linux 系统安装Allure
可以从 Allure 的官方 GitHub 仓库(https://github.com/allure-framework/allure2/releases)下载适用于 Linux 的二进制压缩包(`allure-[version].tgz`)。现在,您已经在 Linux 系统上成功进行了离线安装 Allure 命令行工具。可以使用 `allure --help` 命令查看帮助信息,并按照之前提到的步骤生成和查看 Allure 报告。1. 在具有互联网连接的计算机上下载 Allure 的二进制压缩包。原创 2024-02-04 16:06:14 · 576 阅读 · 0 评论 -
介绍 回调函数及使用方法
总结一下,回调函数是一种将函数作为参数传递给另一个函数,并在需要时被调用的编程技术。回调函数是一种常见的编程技术,它允许我们将一个函数作为参数传递给另一个函数,并在需要的时候调用这个函数。回调函数是一种常见的编程概念,它允许我们将一个函数作为参数传递给另一个函数,并在需要的时候调用这个函数。2. 可重用性:通过回调函数,我们可以将通用的功能封装成一个函数,供多个地方调用,提高代码的可重用性。通过以上示例,我们可以看到回调函数的作用:在某个操作完成后,通过回调函数来处理操作的结果。原创 2024-02-04 14:37:27 · 293 阅读 · 0 评论 -
Python使用回调函数或async/await关键字、协程实现异步编程
事件循环是一种运行时的机制,它负责轮询任务队列,将可执行的任务交给对应的执行环境(比如线程或进程)来执行,从而实现异步操作的执行和管理。具体来说,异步编程将任务分为两类,一类是同步任务,一类是异步任务。而在异步编程中,程序可以发起一个任务后立即执行其他任务,当原先的任务完成后,会通过回调函数或者其他方式通知程序,并处理任务的结果。而在异步编程中,程序可以发起一个任务后立即执行其他任务,当原先的任务完成后,会通过回调函数或者其他方式通知程序,并处理任务的结果。目前,异步编程已经成为现代软件开发中必备的技能。原创 2024-02-04 14:19:23 · 1077 阅读 · 0 评论 -
Python 委托和事件
事件通常使用回调函数来表示事件的处理程序,当事件发生时,发出事件的对象调用回调函数,通知其他对象处理事件。事件通常使用回调函数来表示事件的处理程序,当事件发生时,发出事件的对象调用回调函数,通知其他对象处理事件。在委托中,一个对象将任务委托给另一个对象执行,通过调用函数对象或方法对象来执行委托的任务。通过委托和事件,一个对象可以调用另一个对象的方法,并在特定事件发生时通知其他对象。通过委托和事件,一个对象可以调用另一个对象的方法,并在特定事件发生时通知其他对象。同时,也可以方便地扩展和修改代码。原创 2024-02-04 11:27:20 · 992 阅读 · 0 评论 -
Python 泛型
Python 中的泛型实际上是一种在编译时进行类型检查的机制,而 Python 是一门动态类型语言,所以它的泛型并不会在运行时进行类型检查。Python 中的泛型实际上是一种在编译时进行类型检查的机制,而 Python 是一门动态类型语言,所以它的泛型并不会在运行时进行类型检查。Python 中的泛型是指在定义函数或类时,允许参数或返回值的类型是任意类型的一种特性。总之,Python 的泛型机制可以提供类型提示的支持,从而增加代码的可读性、可维护性和安全性,在适当的情况下可以提高开发效率和代码质量。原创 2024-02-04 10:20:01 · 1302 阅读 · 0 评论 -
Python 集合
例如,假设你有一个包含重复元素的列表,你可以将它转换为集合,然后再转回列表来去除重复元素。无序性:集合中的元素没有固定的顺序,每次访问集合时,元素的顺序可能会发生变化。总结来说,Python 集合提供了一种高效的数据结构,用于存储不重复的元素,并进行集合运算和快速判断元素是否存在等操作。唯一性:集合中的元素是唯一的,不会有重复的元素。高效性:集合中的元素是根据哈希值进行存储和访问的,因此在集合中查找元素的速度非常快。无序性:集合中的元素没有固定的顺序,每次访问集合时,元素的顺序可能会发生变化。原创 2024-02-04 09:38:44 · 573 阅读 · 0 评论 -
Python 抽象类
例如,我们可以定义一个抽象类Shape来表示几何形状,并提供计算面积和周长的方法,然后派生出具体的形状子类如Circle和Rectangle来实现这些方法。在上述示例中,抽象类Animal、Shape和Vehicle定义了一组接口规范,并提供了一些通用的方法和属性供子类使用。总的来说,Python的抽象类是一种强制性约束和规范的机制,可以提高代码的可读性和可维护性,并促进代码的重用和扩展。抽象类在面向对象编程中非常有用,可以定义一些通用的接口和行为,强制子类实现这些方法,从而提高代码的可读性和可维护性。原创 2024-02-02 17:56:34 · 343 阅读 · 0 评论 -
Python 多态
在Python中,对象的类型是在运行时确定的,而不是在编译时确定的。当一个子类继承自父类并重写了父类中的方法时,可以在不改变父类方法名的情况下,根据实际对象的类型调用相应的方法。这些例子说明了多态在不同场景中的灵活应用,通过多态,可以根据对象的实际类型来调用相应的方法,提高了代码的灵活性和可扩展性。在Python中,多态是一种面向对象编程的特性,允许在不同对象上调用相同的方法,但会根据实际对象的类型来执行不同的行为。这就是多态的概念,相同的方法名在不同的对象上具有不同的实现。原创 2024-02-02 15:22:33 · 314 阅读 · 0 评论 -
Python 继承
这些角色类可以继承自一个基础的角色类,从而继承了共同的属性和方法,同时也可以在子类中添加特定的属性和方法,实现不同角色的差异化。GUI库的使用:在使用GUI库编写图形界面时,通常会创建一个基础的窗口类,然后通过继承这个基类来创建不同类型的窗口,例如按钮窗口、文本框窗口等,这样可以实现不同窗口的共同属性和方法的复用。这些只是继承在Python中的一些应用场景,实际上,继承可以在很多不同的领域和场景中使用,通过合理的继承设计,可以提高代码的复用性、灵活性和可扩展性。原创 2024-02-02 11:46:02 · 319 阅读 · 0 评论