【myz_tools】Python库 myz_tools:Python算法及文档自动化生成工具

写在前面

本来最开始只是单纯的想整理一下常用到的各类算法,还有一些辅助类的函数,方便时间短的情况下快速开发。后来发现整理成库更方便些,索性做成库,通过pip install 直接可以安装使用

关于库

平时见到的各类算法大多数还是需要自己手动敲,比如四分位距法,还得知道了原理后详改代码,索性直接做成函数,直接传入原始数据,返回清洗后的数据。内部的话代码也已经开源,也做过几轮测试,所以不用担心会出现什么奇奇怪怪的BUG之类,当然如果有的话还请提出

库使用

安装方式

复制代码
pip install myz_tools

目前主要两部分,一个算法,一个是用于python文件转化为文档的函数,使用也很方便,支持自定义目录和指定输出到一个md或者各自转化的不同的md文件里面,虽然有Sphinx可以用,但是我还是期待可以找到一种更加简洁的方式快速解决问题

使用方式如下

复制代码
from myz_tools.source2md import dir2md

dir2md("./待处理的目录")

dir2md会自动检查此目录下的所有的python文件并且生成文档,完整参数可以鼠标放到上面查看


最终的效果是下面这样的(把生成的md文件里面的内容拷贝到了下面)

文件名称: all_test.py


文章目录


函数部分:


类部分:

类TestCreateDir

复制代码
TestCreateDir
类方法setUp
复制代码
在每个测试之前运行的代码,用于设置测试环境
类方法tearDown
复制代码
在每个测试之后运行的代码,用于清理测试环境
类方法test_create_new_directory
复制代码
测试函数在不存在的路径中创建目录
类方法test_directory_already_exists
复制代码
测试函数在目录已经存在的情况下处理

类TestGetMaxDiff

类方法test_standard_case
复制代码
测试函数在正常二维数组中的行为
类方法test_single_column_array
复制代码
测试函数在只有一列的二维数组中的行为
类方法test_invalid_input
复制代码
测试函数在非二维数组输入中的行为
类方法test_non_numeric_data
复制代码
测试函数在包含非数字数据的二维数组中的行为

类TestRemoveOutliersIQR

类方法test_remove_outliers_basic
复制代码
测试简单的二维数组,确保函数能正确去除异常值。
类方法test_all_inliers
复制代码
测试当没有异常值时,所有数据都应该保留。
类方法test_single_column
复制代码
测试只有一列数据的情况。

类TestExportToCsv

类方法setUp
复制代码
在每个测试之前运行的代码,用于设置测试环境
类方法tearDown
复制代码
在每个测试之后运行的代码,用于清理测试环境
类方法test_file_creation
复制代码
测试函数是否能够创建CSV文件
类方法test_data_written_correctly
复制代码
测试函数是否正确写入数据到CSV文件
类方法test_append_data
复制代码
测试函数在文件存在时是否能够正确追加数据

文件名称: common_maths.py



函数部分:

函数create_dir
复制代码
在指定路径下创建名称为{dir_name}的文件夹
Args:
    dir_name: 文件夹名称
    path: 要创建文件夹的路径,默认为当前路径

Returns:
    无
函数get_max_diff
复制代码
参数:
    two_dimensional_array: 二维数组
返回值:
    每一列里面最大值和最小值的差值,类型是一个一维数组
功能:
    传入一个二维数组,函数返回每一列里面最大值和最小值的差值。
函数remove_outliers_iqr
复制代码
参数:
    data: 二维数组
返回值:
    去除异常值后的二维数组和有效的行索引,类型是一个元组
功能:
    四分位距法去除传入的二维数组中的异常值,注意是对于每一列来说的自己的异常值
函数export_to_csv
复制代码
参数:
    array_data: 二维数组,要保存的数据
    file_name: 字符串,CSV文件的名称(不包含扩展名)
    output_directory: 字符串,保存文件的目录路径,默认为当前目录
返回:
    None
功能:
    将给定的二维数组保存到指定目录中的CSV文件。如果文件已存在,则追加数据,并在每次写入时添加空行作为分隔符。

类部分:


文件名称: source2md.py



函数部分:

函数dir2md
复制代码
Args:
    source_dir: 待处理目录
    output_dir: 输出目录
    single_file: 是否将所有文件放到一个md文件中
函数extract_info
复制代码
功能:
    解析python文件,提取函数和类信息
Args:
    file_path: 待处理文件路径
Returns:
    function_docs: 函数信息
    class_info: 类信息
函数all_save_markdown
复制代码
功能:
    将提取的函数和类信息保存为markdown文件
Args:
    file_path: 待处理文件路径
    output_path: 保存路径
    function_docs: 函数信息
    class_info: 类信息
Returns:
    无
函数all2md
复制代码
功能:调用,将一个python文件中的函数和类信息提取出来,并保存为markdown文件
Args:
    file_path: 字符串,python文件的路径
    output_path: 字符串,markdown文件的保存路径
Returns:
    无
函数extract_function_docs_from_file
复制代码
从 Python 文件中提取函数的 docstring(注释部分)。

参数:
    file_path: 字符串,Python 文件的路径。

返回:
    字典,键为函数名,值为函数的 docstring。
函数save_docs_to_markdown
复制代码
将函数的 docstring 保存到 Markdown 文件中。

参数:
    docs: 字典,包含函数名和 docstring 的映射。
    output_path: 字符串,Markdown 文件的保存路径。
函数pyFun2md
复制代码
将 Python 文件中提取 docstring 并保存为 Markdown 文件。

参数:
    source_file: 字符串,源 Python 文件的路径。
    output_md: 字符串,输出 Markdown 文件的路径。

类部分:


仓库的链接

如果使用中有问题或者是需要别的什么算法,欢迎到
Issues · yi/myz_tools - Gitee.com提Issues,我会逐个看过去的

END


相关推荐
草莓熊Lotso15 分钟前
【C++】--函数参数传递:传值与传引用的深度解析
c语言·开发语言·c++·其他·算法
Ice__Cai21 分钟前
Flask 路由详解:构建灵活的 URL 映射系统
开发语言·python·flask
不知名。。。。。。。。21 分钟前
算法 ----- 链式
算法
网易独家音乐人Mike Zhou24 分钟前
【Python】圆柱体内部3D点云仿真及ply文件生成,圆形3D点云检测及拟合算法
stm32·单片机·mcu·物联网·算法·点云·iot
l1t43 分钟前
DeepSeek辅助编写的将xlsx格式文件中sheet1.xml按需分别保留或去掉标签的程序
xml·python·excel·wps·xlsx
l1t1 小时前
分析xml标签属性和压缩级别对xlsx文件读取解析的影响
xml·开发语言·python·sql·duckdb
scx201310041 小时前
20250822 组题总结
c++·算法
Jenkinscao1 小时前
我从零开始学习C语言(13)- 循环语句 PART2
c语言·开发语言·学习
王伯爵1 小时前
go语言中的select的用法和使用场景
开发语言·数据库·golang
智驱力人工智能1 小时前
智慧工厂烟雾检测:全场景覆盖与精准防控
人工智能·算法·安全·智慧城市·烟雾检测·明火检测·安全生产