Skip to main content

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.

Source Distribution

mxupy-1.0.4.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

mxupy-1.0.4-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page