
Python
文章平均质量分 75
知识的宝藏
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何检测Python项目哪些依赖库没有使用
要检测Python项目中哪些依赖库未被使用,可以采用以下方法原创 2025-04-24 21:41:54 · 620 阅读 · 0 评论 -
python url编码及解码
如果你只想对 URL 的路径部分进行编码(例如文件名),可以使用。如果你只需要对查询参数部分进行编码或解码,可以使用。在 Python 中,URL 编码和解码可以通过。函数对 URL 编码的字符串进行解码。函数对字符串进行 URL 编码。原创 2025-02-19 20:53:44 · 637 阅读 · 0 评论 -
Python logging 使用颜色区分不同级别的日志
如果您更倾向于不使用额外的库,而是想要手动实现颜色化日志输出,那么可以在 Linux/Unix 系统上通过 ANSI 转义序列来实现。不过这种方法在 Windows 上可能不会正常工作(除非启用了虚拟终端处理),并且不如使用。这些库能够轻松地为日志输出添加颜色,并且兼容 Windows 和 Unix 系统。然后你可以使用 ANSI 转义序列来改变文本的颜色。但是,这种方式较为复杂,推荐使用。模块集成,可以很容易地为您的日志添加颜色。是一个非常方便的库,它直接与。或其他类似库来简化开发过程。原创 2025-01-17 01:00:00 · 336 阅读 · 2 评论 -
Python logging 按天输出日志到目录
这样,您的应用程序将能够每天生成一个新的日志目录,并在该目录中创建日志文件,同时保持旧日志文件的组织性。参数,这里指的是保留的日志文件数量,而不是目录数量。如果您想要控制目录的数量,可能需要额外的逻辑来删除过期的目录。为了每天生成一个新的目录,并在该目录中创建日志文件,您可以结合使用 Python 的。模块来创建日期命名的子目录,以及。原创 2025-01-16 20:28:37 · 497 阅读 · 1 评论 -
python logging 输出模块级别日志精确到行
然后我们定义了一个日志格式,该格式包括了时间戳(精确到毫秒)、日志级别、logger 名称、模块名、函数名、行号以及消息。最后,请注意,如果您的应用程序结构复杂或有多个模块,确保正确设置 logger 的名称(如上例中的。(破折号)之后的消息部分,您可以简单地调整日志消息本身,或者在调用。等方法时只传递您想要记录的信息,而不改变 Formatter。的日志条目,您可以使用 Python 的。的 logger,并设置了它的日志级别为。),这有助于在日志输出中正确标识日志来源。模块,并配置一个自定义的。原创 2025-01-16 20:23:26 · 472 阅读 · 2 评论 -
Python显示循环进度条
推荐使用tqdm:简单易用,功能强大。如果需要更丰富的终端输出:可以选择rich或。手动实现:适合简单的需求,无需安装第三方库。:使用IPython的widgets。根据你的需求选择合适的工具即可!原创 2025-01-16 20:18:47 · 403 阅读 · 0 评论 -
python url编码及解码
如果你只想对 URL 的路径部分进行编码(例如文件名),可以使用。如果你只需要对查询参数部分进行编码或解码,可以使用。在 Python 中,URL 编码和解码可以通过。函数对 URL 编码的字符串进行解码。函数对字符串进行 URL 编码。原创 2025-01-15 18:30:20 · 421 阅读 · 0 评论 -
Python传参规则详解
本文介绍了Python中函数传参的基本概念和规则,包括位置参数、关键字参数、默认参数、不定长参数以及关键字仅参数等。理解并正确使用这些参数类型,对于编写清晰、高效的Python代码至关重要。希望本文能帮助你更好地掌握Python函数传参机制,并在实际开发中灵活运用。原创 2024-09-25 21:52:17 · 1296 阅读 · 0 评论 -
Python 文档注释规范详解
在软件开发中,良好的文档注释不仅是对代码的一种自我解释,更是提高代码可读性和维护性的关键。本文将详细介绍Python文档注释的最佳实践,包括PEP 257标准、docstrings的书写、类型注解以及如何利用工具生成高质量的文档。通过遵循PEP 257规范,合理使用类型注解,并结合Sphinx等工具自动生成文档,可以让你的Python项目更加专业和完善。Sphinx是一个流行的文档生成工具,支持从Python源代码中提取docstrings并生成HTML、PDF等多种格式的文档。文件夹,并在其中创建。原创 2024-09-06 06:00:00 · 1243 阅读 · 0 评论 -
python circular import python循环导入问题
遇到的问题是因为模块之间存在循环导入(circular import),导致了。循环导入是指两个或多个模块相互导入对方,如模块A导入了模块B的方法,模块B又导入了模块A的方法,从而导致其中一个模块在完全初始化之前就被另一个模块尝试导入,进而引发错误。原创 2024-09-06 01:00:00 · 863 阅读 · 0 评论 -
Python 读写 Excel 文件:创建、遍历、更新与样式处理
本文详细介绍了如何使用 Python 进行 Excel 文件的创建、遍历、更新、删除以及样式处理等操作。通过openpyxl库,可以轻松地读写 Excel 文件,并对其进行各种操作。掌握这些基本操作对于处理各种数据存储和分析任务非常重要。通过上述示例和步骤,您可以熟练地使用 Python 来管理和操作 Excel 文件,从而提高数据处理的效率和灵活性。无论是进行简单的数据读写还是复杂的文件操作,Python 都能提供强大的支持。原创 2024-09-04 09:26:00 · 1415 阅读 · 0 评论 -
Python 读写 JSON 文件:解析、读写、数据更新与删除
本文介绍了如何使用 Python 进行 JSON 文件的读写、数据更新与删除等操作。通过json模块提供的loadsdumpsload和dump方法,可以轻松地处理 JSON 数据。掌握这些基本操作对于处理各种数据交换和存储任务非常重要。通过上述示例和步骤,您可以熟练地使用 Python 来管理和操作 JSON 文件,从而提高数据处理的效率和灵活性。无论是进行简单的数据读写还是复杂的文件操作,Python 都能提供强大的支持。原创 2024-09-05 07:00:00 · 1456 阅读 · 0 评论 -
使用多线程解决读写数据不一致的问题
多线程是一种常见的并发编程模型,在许多应用场景中具有显著的优势。下面详细介绍多线程的使用场景及其优势。原创 2024-09-05 07:00:00 · 1361 阅读 · 0 评论 -
如何分析Python代码中是否包含重复代码
在软件开发过程中,代码的可维护性和可读性是非常重要的。重复代码不仅会使项目变得臃肿,还可能导致未来维护困难,因为一处修改需要在多处进行,容易引入新的错误。本文将探讨如何使用静态代码分析工具来检测Python中的重复代码,并展示如何通过工具进行检查的具体过程和结果。原创 2024-09-03 07:00:00 · 1142 阅读 · 0 评论 -
Your code has been rated at 6.24/10 (previous run: 5.83/10, +0.41)
收到代码评分为6.24/10,并且相比之前的评分5.83/10有所提升(+0.41),说明你的代码质量有所改善,但仍有一定的提升空间。为了进一步优化代码,特别是针对日志记录中使用懒惰格式化的问题,我们可以继续完善代码并确保遵循最佳实践。原创 2024-09-02 20:33:25 · 460 阅读 · 0 评论 -
Use lazy % formatting in logging functions (65:4) [logging-fstring-interpolation]
使用懒惰格式化不仅提高了性能,还能确保在不必要的情况下不会进行复杂的计算。对于Python的日志记录,推荐使用格式化,尤其是在日志消息中包含复杂表达式或函数调用时。这样可以确保只有在日志级别允许记录时才会进行实际的格式化操作。原创 2024-09-02 20:30:47 · 588 阅读 · 3 评论 -
使用Python进行Mock测试详解(含Web API接口Mock)
Mock对象是用于替代真实对象的模拟对象,它记录了所有被调用的方法及其参数,并且可以被配置来返回期望的值或引发异常。隔离测试:在测试某个组件时,隔离其与其他组件的依赖关系。模拟行为:模拟外部系统的响应或行为,以便于测试。验证调用:验证函数或方法是否被正确地调用。Mock测试是一种强大的单元测试技术,它能够帮助我们有效地测试代码,并确保代码的正确性和可靠性。通过本文的学习,你应该已经掌握了如何使用Python的库来进行Mock测试。原创 2024-08-28 00:30:00 · 1308 阅读 · 1 评论 -
Python 如何设置Excel中某一列下拉选项的筛选选项
要在Excel中设置某一列的下拉选项(也称为数据验证或数据有效性),你可以使用Python的openpyxl库。openpyxl是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。下面是一个简单的示例,展示如何在Excel的一个单元格范围内设置下拉列表。原创 2024-08-27 02:00:00 · 1487 阅读 · 0 评论 -
如何保证Python list中值的唯一性
要保证Python列表中值的唯一性,可以使用几种不同的方法。其中最简单和常用的方法是利用集合(set),因为集合不允许重复元素。原创 2024-08-26 20:45:32 · 629 阅读 · 0 评论 -
Python Lambda 表达式详解
lambda表达式是Python中一种非常有用的特性,尤其是在需要简短、一次性的函数时。尽管它们在某些情况下不如普通函数灵活,但在函数式编程中却有着不可替代的地位。合理使用lambda表达式可以使代码更加简洁高效。然而,在编写复杂逻辑时,使用传统的def定义的函数通常更为合适,因为它们提供了更多的控制结构和更好的可读性。原创 2024-08-23 21:20:54 · 1459 阅读 · 0 评论 -
Python排序指南
Python 列表有一个内置的方法可以直接修改列表。还有一个内置函数,它会从一个可迭代对象构建一个新的排序列表。在本文档中,我们将探索使用Python对数据进行排序的各种技术。原创 2023-12-09 10:37:42 · 442 阅读 · 0 评论 -
Python socket套接字编程指南
套接字几乎无处不在,但是它却是被误解最严重的技术之一。这是一篇简单的套接字概述。并不是一篇真正的教程 —— 你需要做更多的事情才能让它工作起来。其中也并没有涵盖细节(细节会有很多),但是我希望它能提供足够的背景知识,让你像模像样的开始使用套接字。原创 2023-12-09 10:36:17 · 199 阅读 · 0 评论 -
Python 打印项目树结构
有时候需要查看项目的树形结构这时候打印项目的树形结构就很重要了,以下是实现代码。原创 2023-12-09 10:29:53 · 300 阅读 · 0 评论 -
Python 日志指南
定义你自己的级别是可能的,但不一定是必要的,因为现有级别是根据实践经验选择的。但是,如果你确信需要自定义级别,那么在执行此操作时应特别小心,如果你正在开发库,则定义自定义级别可能是一个非常糟糕的主意。这是因为如果多个库作者都定义了他们自己的自定义级别,那么使用开发人员很难控制和解释这些多个库的日志记录输出,因为给定的数值对于不同的库可能意味着不同的东西。原创 2023-12-08 22:24:43 · 1101 阅读 · 0 评论 -
python pydoc生成API文档
默认的主机名为 'localhost' 但是如果你希望能从其他机器上搜索该服务器,你可能会想要改变服务器所响应的主机名。的参数像是一个路径(即包含所在操作系统的路径分隔符,例如 Unix 的正斜杠),并且其指向一个现有的 Python 源文件,则会为该文件生成文档内容。生成的文档可在控制台中显示为文本页面,提供给 Web 浏览器访问或者保存为 HTML 文件。的参数可以为函数、模块、包,或带点号的对模块中的类、方法或函数以及包中的模块的引用。对于模块、类、函数和方法,显示的文档内容取自文档字符串(即。原创 2023-12-07 20:54:28 · 1174 阅读 · 7 评论 -
打包Python项目
本教程将指导您如何打包一个简单的Python项目。它将 向您展示如何添加必要的文件和结构来创建包,如何 构建包,以及如何将其上传到Python包索引(PyPI)。尖端如果您在运行本教程中的命令时遇到问题,请复制命令 及其输出,然后在存储库上, GitHub.我们会尽力帮助你!原创 2023-12-07 20:15:45 · 557 阅读 · 0 评论 -
使用Sphinx生成Selenium 自动化项目API文档
最近需要把项目生成API文档,在网上找了下发现sphinx这个框架用的比较多,研究了一下,发现还是挺赞的,只不过纸上得来终觉浅,绝知此事要躬行,别人的项目结构啥的和自己不一样,网上基本都是单目录的层级,但是实际项目往往都会有比较深的层级关系,所以还是踩了不少坑,在此结合自己的项目总结一下。原创 2023-12-06 21:03:43 · 1909 阅读 · 0 评论 -
zipfile --- 使用ZIP存档
ZIP 文件格式是一个常用的归档与压缩标准。这个模块提供了创建、读取、写入、添加及列出 ZIP 文件的工具。任何对此模块的进阶使用都将需要理解此格式,其定义参见。此模块目前不能处理分卷 ZIP 文件。它可以处理使用 ZIP64 扩展(超过 4 GB 的 ZIP 文件)的 ZIP 文件。它支持解密 ZIP 归档中的加密文件,但是目前不能创建一个加密的文件。解密非常慢,因为它是使用原生 Python 而不是 C 实现的。这个模块定义了以下内容:exception为损坏的 ZIP 文件抛出的错误。原创 2023-12-04 20:30:19 · 351 阅读 · 0 评论 -
pickle --- Python 对象序列化
3.8 新版功能.有时,可能不够灵活。特别是当我们想要基于对象类型以外的其他规则来对封存进行定制,或是当我们想要对函数和类的封存进行定制的时候。对于那些情况,可能要基于Pickler类进行子类化并实现方法。此方法可返回任意的归约元组 (参见它也可以选择返回来回退到传统行为。如果同时定义了和,则方法具有优先权。备注出于性能理由,可能不会为以下对象调用NoneTrueFalse, 以及intfloatbytesstrdictsetfrozensetlist和tuple的具体实例。原创 2023-12-04 20:28:39 · 213 阅读 · 0 评论 -
Python 内置异常
在 Python 中,所有异常必须为一个派生自的类的实例。在带有提及一个特定类的子句的语句中,该子句也会处理任何派生自该类的异常类(但不处理它所派生出的异常类)。通过子类化创建的两个不相关异常类永远是不等效的,既使它们具有相同的名称。下面列出的内置异常可通过解释器或内置函数来生成。除非另有说明,它们都会具有一个提示导致错误详细原因的“关联值”。这可以是一个字符串或由多个信息项(例如一个错误码和一个解释错误的字符串)组成的元组。关联值通常会作为参数被传递给异常类的构造器。用户代码可以引发内置异常。原创 2023-12-03 16:04:32 · 1112 阅读 · 0 评论 -
os.path --- 常用路径操作
如果一个路径名称以两个斜杠开始,则开始字符之后的第一个部分将以具体实现所定义的方式来解读,但是超过两个开始字符则将被视为单个字符。在系统中的 ctime,在有些系统(比如 Unix)上,它是元数据的最后修改时间,其他系统(比如 Windows)上,它是。要规范大小写,请使用。在 Unix 上,它就是以斜杠开头,而在 Windows 上,它可以是去掉驱动器号后以斜杠(或反斜杠)开头。对于无效的路径可能引发错误,例如,没有可识别的驱动器的路径,但在不支持 Dev 驱动器的平台上将返回。但是,如果操作的路径。原创 2023-12-01 21:17:08 · 333 阅读 · 0 评论 -
pathlib --- 面向对象的文件系统路径
3.4 新版功能.该模块提供表示文件系统路径的类,其语义适用于不同的操作系统。路径类被分为提供纯计算操作而没有 I/O 的,以及从纯路径继承而来但提供 I/O 操作的。如果以前从未用过此模块,或不确定哪个类适合完成任务,那要用的可能就是。它在运行代码的平台上实例化为。在一些用例中纯路径很有用,例如:如果你想要在 Unix 设备上操作 Windows 路径(或者相反)。你不应在 Unix 上实例化一个,但是你可以实例化。你只想操作路径但不想实际访问操作系统。原创 2023-12-01 21:15:03 · 315 阅读 · 0 评论 -
序列类型 --- list, tuple, range
有三种基本序列类型:list, tuple 和 range 对象。为处理和而特别定制的附加序列类型会在专门的小节中描述。原创 2023-11-28 21:08:32 · 695 阅读 · 0 评论 -
Python 将列表拼接为一个字符串,Python join
请注意,`join()` 方法只能用于连接字符串元素的列表。在上面的示例中,我们使用空格作为连接符,将列表中的字符串元素连接成一个字符串。你可以根据需要选择不同的连接符,例如空字符串 `''`、逗号 `','` 等。如果你想将单个列表中的数据拼接成一个字符串,可以使用 `join()` 方法。`join()` 方法将列表中的字符串元素连接起来,并返回一个新的字符串。在上面的示例中,我们使用 `map()` 函数将列表中的整数元素转换为字符串,然后再使用 `join()` 方法拼接成一个字符串。原创 2023-11-24 20:53:06 · 404 阅读 · 0 评论 -
Python 模块
为了让一个库能以隐藏源代码的形式分发(通过将所有源代码变为编译后的版本),编译后的模块必须放在源目录而非缓存目录中,并且源目录绝不能包含同名的未编译的源模块。这意味着,脚本所在的目录如果有和标准库同名的文件,那么加载的是该目录里的,而不是标准库的。就像使用模块可以让不同模块的作者不必担心彼此的全局变量名一样,使用带点号模块名也可以让 NumPy 或 Pillow 等多模块包的作者也不必担心彼此的模块名冲突。如果被放置于一个模块的最高层级,则被导入的模块名称会被添加到该模块的全局命名空间。原创 2023-11-24 21:16:24 · 231 阅读 · 0 评论 -
Python数据结构
本章深入讲解之前学过的一些内容,同时,还增加了新的知识点。原创 2023-11-24 21:14:54 · 651 阅读 · 0 评论 -
python文本
切片索引的默认值很有用;(下标访问),第一个字符的索引是 0。对于使用非负索引的切片,如果两个索引都不越界,切片长度就是起止索引之差。第一行数字是字符串中索引 0...6 的位置,第二行数字是对应的负数索引位置。字符串中将自动包括行结束符,但也可以在换行的地方添加一个。要标示引号本身,我们需要对它进行“转义”,即在前面加一个。注意,-0 和 0 一样,因此,负数索引从 -1 开始。,第一个字符的左侧标为 0,最后一个字符的右侧标为。注意,输出结果包含切片开始,但不包含切片结束。类型表示,称为“字符串”)。原创 2023-11-22 22:14:13 · 356 阅读 · 0 评论 -
python数字
最好把该变量当作只读类型。不要为它显式赋值,否则会创建一个同名独立局部变量,该变量会用它的魔法行为屏蔽内置变量。解释器像一个简单的计算器:你可以输入一个表达式,它将给出结果值。表达式语法很直观:运算符。Python 全面支持浮点数;,Python 还支持其他数字类型,例如。交互模式下,上次输出的表达式会赋给变量。本教程后半部分将介绍更多数字类型。可被用来执行算术运算;) 总是返回浮点数。要计算余数你可以使用。) 可被用来进行分组。得到一个整数结果你可以使用。Python 还内置支持。原创 2023-11-22 21:51:20 · 179 阅读 · 0 评论 -
Selenium登录关键字封装
这样一个登录就写了9行!这还是简单的登录场景,如果更复杂的场景这样做显然不太合适~可以将登录单独封装一个关键字,抛开打开浏览器访问网址等步骤来说一个登录要定位的至少包含3个元素:用户输入、密码输入、登录按钮,之前封装的关键字都是一个“关键字”,一个“定位方式”,一个“定位值” ,实际Python eval()函数执行是并不知道你这里写的是什么,因此没有必要要一一对应,也可以一个关键字:多个定位方式。我这边是用英文逗号分割的,当然也可以用其他符号但是不要和定位表达式里的值冲突就行了,不然会引发错误。原创 2023-04-29 20:58:43 · 778 阅读 · 0 评论 -
Python 循环技巧
【代码】Python 循环技巧。原创 2023-04-26 20:43:15 · 992 阅读 · 0 评论