An many/more extension/utils for python
Project description
mxupy 编程参考
mxupy many/more extension/utils for python,是 python 语言下的多工具集合。
安装 pip install mxupy
安装依赖 pip install -r requirements.txt
docGen.py
extract_comments_from_file
获取模块文件的注释 Args: file_path (str): 模块文件路径
Returns: str: 注释文本(markdown格式)
generate_markdown_docstring
生成 docstring markdown 文档。 Args: title (str): 标题 dir_path (str): 包目录 output_file (str): md 文件路径
hardware.py
getDiskInfo
获取磁盘信息。
返回: str: 包含磁盘信息的字符串。
getCPUInfo
获取 CPU 信息。
返回: str: 包含 CPU 信息的字符串。
getGPUInfo
获取 GPU 信息。
参数: idx (int, 可选): GPU 索引,默认为 0。
返回: str: 包含 GPU 信息的字符串。
getSystemInfo
获取系统信息。
返回: str: 包含系统信息的字符串。
getMemoryInfo
获取内存信息。
返回: str: 包含内存信息的字符串。
misc.py
istuple
检查对象是否为元组。
Args: t (object): 待检查对象。
Returns: bool: 若为元组则返回 True,否则返回 False。
islist
检查对象是否为列表。
Args: lst (object): 待检查对象。
Returns: bool: 若为列表则返回 True,否则返回 False。
isndarray
检查对象是否为 NumPy 数组(ndarray)。
Args: lst (object): 待检查对象。
Returns: bool: 若为 NumPy 数组则返回 True,否则返回 False。
isdict
检查对象是否为字典。
Args: dt (object): 待检查对象。
Returns: bool: 若为字典则返回 True,否则返回 False。
isfunc
检查对象是否为函数(可调用)。
Args: func (object): 待检查对象。
Returns: bool: 若为函数(可调用)则返回 True,否则返回 False。
isvalue
检查对象是否为字符串、整数或浮点数。
Args: obj (object): 待检查对象。
Returns: bool: 若为字符串、整数或浮点数则返回 True,否则返回 False。
isbool
检查对象是否为布尔类型。
Args: val (object): 待检查对象。
Returns: bool: 若为布尔类型则返回 True,否则返回 False。
reverseTuple
反转元组。
Args: t (tuple): 待反转的元组。
Returns: tuple: 反转后的元组。
rndStr
生成 1000 到 2000 之间的随机整数作为字符串。
Returns: str: 生成的随机整数字符串。
toBool
将输入值转换为布尔类型。
Args: value (any): 待转换的值。
Returns: bool: 转换后的布尔值。
toValue
将值转换为指定类型。
Args: value (any): 待转换的值。 type (str): 目标类型,可选值包括 'str', 'int', 'float', 'bool', 'datetime', 'date' 或 'time'。 format (str, optional): 日期时间格式(仅对日期时间类型有效)。
Returns: any: 转换后的值。
toStr
将值转换为字符串格式。
Args: value (any): 待转换的值。 type (str): 原始值的类型,可选值包括 'str', 'int', 'float' 或 'bool'。 format (str, optional): 日期时间格式(仅对日期时间类型有效)。
Returns: str: 转换后的字符串。
dict2Object
递归将字典转换为对象。
Args: dt (dict): 待转换的字典。
Returns: object: 转换后的对象。
getProperties
获取字典或对象的成员属性列表。
Args: obj (dict|object): 待获取属性的字典或对象。
Returns: list: 属性列表。
hasProperty
检查对象是否具有指定属性。
Args: obj (dict|object): 待检查对象。 property (str): 待检查的属性名称。
Returns: bool: 若对象具有指定属性则返回 True,否则返回 False。
getValue
获取字典或对象中指定键的值。
Args: obj (dict|object): 待获取值的字典或对象。 key (str): 键名。
Returns: any: 键对应的值。
setValue
设置字典或对象中指定键的值。
Args: obj (dict|object): 待设置值的字典或对象。 key (str): 键名。 value (any): 待设置的值。
uniqueEx
对列表进行去重操作。
Args: lst (List[object]): 待去重列表。 axis (int, optional): 操作维度。
Returns: list: 去重后的结果列表。
removeItems
按索引删除元素,注意要从大到小删除
Args: lst (List(object)): 元素集 idxs (List(int)): 索引集
getItems
从list中获取idxs指定的索引的多个元素
Args: lst (list): list idxs (list): 索引集
Returns: list: 按索引取出的多个元素
rlst
range to list
Args: arg (Sequence[int]): 参数
Returns: list: 返回结果
npSort
对ndarray按某列(可多列)排序
Args: arr (ndarray): M*N,只支持二维 idx (int|list[int]): 列索引,可多个
Returns: ndarray: 排序后
cls
清除控制台显示内容。
appPath
获取当前应用程序的路径。
Returns: str: 应用程序路径。
myPath
获取当前脚本的路径。
Returns: str: 脚本路径。
tik
记录时间戳。
Args: name (str, optional): 时间戳名称,默认为 'tik'。
ptik
计算时间间隔并输出。
Args: name (str, optional): 时间戳名称,默认为 'tik'。
points
将列表或元组转换为 NumPy 数组。
Args: pts (list|tuple): 点集。 dims (int, optional): 返回数组的维度。默认为 2。 type (dtype, optional): 返回数组的数据类型。
Returns: ndarray: 转换后的数组。
tuples2Points
元组集转点集。 如:[(1,2),(3,4)] -> [[[1,2], [3,4]]]
Args: tuples (list): 元组集
Returns: points: 点集
points2Tuples
点集转元组集。 如:[[[1,2], [3,4]]] -> [(1,2),(3,4)] Args: points (points): 点集
Returns: tuples: 元组集
each
遍历每个元素,支持 list/tuple/ndarray
Args: lst (any): Iterable 和 Iterator callback (function): 回调函数
traverse
广度优先遍历
Args: obj (any): 对象,每个对象需要有 children 属性表示孩子 callback (function): 回调,原型 callback(item, parent, depth) depth (int,optional): 深度,从0开始
traverseList
广度优先遍历列表对象。
Args: items (list): 列表对象。 callback (function): 回调函数。 parent (any, optional): 父级对象。 depth (int, optional): 遍历深度,默认为 0。
enumName
通过枚举值找到枚举名
Args: enum1 (Enum): 枚举 value (int): 值
Returns: string: 枚举名
defkv
返回对象中指定键的值,如果键不存在,则返回默认值。如果对象是字典或强制使用字典,则使用get方法获取值;否则,使用getattr方法获取值。
Args: obj (object): 要查询的对象(可以是字典、实例对象等)。 key (object): 要检索的键。 defval (object): 默认值,如果键不存在时返回该值。 forceDict (bool, optional): 如果为True,则强制将obj视为字典。默认为False。
Returns: object: 对象中指定键的值或默认值。
defv
如果值为空(None、空字符串、空列表、空元组、空ndarray等),则返回默认值;否则,返回该值本身。
Args: val (object): 要检查的值。 defval (object): 默认值。
Returns: object: 如果值为空,则返回默认值;否则,返回该值本身。
argv
取函数参数值,有值取值,没值取默认值
Args: args (tuple|dict): *args 或 **kwargs i (int|str): args序号或kwargs参数名 val (any): 默认值
Returns: any: 值
isN
检查给定对象是否为空(None、空字符串、空列表、空元组、空ndarray等)。
Args: obj (object): 要检查的对象。
Returns: bool: 如果对象为空,则返回True;否则,返回False。
isNN
检查给定对象是否不为空(不是None、不是空字符串、不是空列表、不是空元组、不是空ndarray等)。
Args: obj (object): 要检查的对象。
Returns: bool: 如果对象不为空,则返回True;否则,返回False。
isT
检查值是否为True。
Args: val (object): 要检查的值。
Returns: bool: 如果值为True,则返回True;否则,返回False。
isF
检查值是否为False。
Args: val (object): 要检查的值。
Returns: bool: 如果值为False,则返回True;否则,返回False。
hex2rgb
将十六进制颜色代码转换为RGB颜色元组。
Args: hex_color (str): 十六进制颜色代码(可以包含#)。
Returns: tuple: RGB颜色元组。
sprt
将print的输出捕获到StringIO对象中。
Args: lst1 (list): 存储StringIO对象的列表。
eprt
将捕获的输出转换为字符串。
Args: lst1 (list): 存储StringIO对象的列表。
formatBytes
将字节转换为合适的单位格式(例如:1253656 => '1.20MB', 1253656678 => '1.17GB')。
Args: bytes (int): 要转换的字节数。 suffix (str, optional): 单位后缀。默认为“B”。
Returns: str: 转换后的字符串表示。
formatMilliseconds
将毫秒数转换为合适的时间格式(例如:1250 => '1250ms', 125000 => '1.25s', 125000000 => '2.08m'等)。
Args: milliseconds (int): 要转换的毫秒数。
Returns: str: 转换后的时间格式字符串。
misc.py
getHTMLFromClipboard
从剪贴板获取 HTML 数据。
返回: str: 如果可用,返回剪贴板中的 HTML 数据。
getImageFromClipboard
从剪贴板获取图像。
返回: list: 如果可用,返回剪贴板中的图像列表。
dir.py
getFiles
'' 获取一个目录下的所有文件
file.py
fileParts
拆分文件路径,获取文件路径、文件名和扩展名。
参数: filename (str): 要处理的文件路径字符串。
返回: tuple: 文件路径、文件名和小写的扩展名组成的元组。
readAllText
读取文本文件全部内容,注意文件编码必须是 utf-8
Args: filename (string): 文件路径
Returns: string: 文件内容
writeAllText
将文本内容写入文件。
参数: filename (str): 要写入的文件路径。 content (str): 要写入的文本内容。 mode (str, 可选): 文件打开模式,默认为 'w'(写入模式)。
返回: str: 写入文件的字符数。
writeStream
将二进制内容写入文件。
参数: filename (str): 要写入的文件路径。 content (bytes): 要写入的二进制内容。 mode (str, 可选): 文件打开模式,默认为 'wb'(二进制写入模式)。
返回: str: 写入文件的字符数。
clearAllText
清空文件内容。
参数: filename (str): 要清空内容的文件路径。
fileType
获取文件类型
Args: filename (str): 文件名、路径、扩展名(如 .txt)
Returns: str: 类型 image/office/...
zip.py
zipFolder
压缩文件夹并排除指定的目录。
:param folder_path: 要压缩的文件夹的路径。 :param output_path: 压缩文件的输出路径。 :param exclude_dirs: 要排除的目录列表。
addFolderToZip
添加文件夹到zip文件
audio.py
segAudio
指定秒数,分割音频为多份文件
cutAudio
截取音频
image.py
makeThumbnail
生成缩略图
colorOverlay
给图像添加颜色叠加层。
参数: img (PIL.Image.Image): 原始图像。 rgba (tuple): 包含颜色信息的元组,形如 (R, G, B, A)。
返回: PIL.Image.Image: 添加颜色叠加层后的图像。
setAlpha
设置图像的透明度。
参数: img (PIL.Image.Image): 要设置透明度的图像。 alpha (float): 透明度值,取值范围在 0 到 1 之间。
返回: None: 该函数直接修改传入的图像对象,不返回新的图像。
video.py
removeGreenBG
移除绿幕。
overlayVideo
将mainvideo移除绿幕,与overlays进行叠加在一起。 视频和叠加物都是一个对象,包含 Url/Width/Height/X/Y/Z,Z越大越在前。 最终fps与mainvideo一致。
segVideo
指定秒数,分割视频为多份文件
cutVideo
裁剪视频 start:开始秒数 end:结束秒数
captureVideoFrame
截取视频文件某一帧的画面 frame_number 可以是具体的帧数(注意从0开始到总帧数-1),也可以是: -1 最后一帧 0 第一帧 0.5 中间帧,在(0.0,1.0)中间都表示为百分比
getVideoSize
获取视频文件宽高
extactAudio
从视频中取出音频部分
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.