mxupy


Namemxupy JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://github.com/pypa/sampleproject
SummaryAn many/more extension/utils for python
upload_time2023-12-04 07:00:41
maintainer
docs_urlNone
authorjerry
requires_python>=3.8
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

从视频中取出音频部分

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pypa/sampleproject",
    "name": "mxupy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "jerry",
    "author_email": "6018421@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/02/c0/80af9c3cd522750f29c543dddb2962ed46b0afb5cd19489802d488ddc802/mxupy-1.0.4.tar.gz",
    "platform": null,
    "description": "# mxupy \u7f16\u7a0b\u53c2\u8003\r\n\r\n---\r\n\r\nmxupy many/more extension/utils for python\uff0c\u662f python \u8bed\u8a00\u4e0b\u7684\u591a\u5de5\u5177\u96c6\u5408\u3002\r\n\r\n\u5b89\u88c5 pip install mxupy\r\n\r\n\u5b89\u88c5\u4f9d\u8d56 pip install -r requirements.txt\r\n\r\n## docGen.py\r\n\r\n---\r\n\r\n### extract_comments_from_file\r\n\r\n\u83b7\u53d6\u6a21\u5757\u6587\u4ef6\u7684\u6ce8\u91ca\r\nArgs:\r\n    file_path (str): \u6a21\u5757\u6587\u4ef6\u8def\u5f84\r\n\r\nReturns:\r\n    str: \u6ce8\u91ca\u6587\u672c\uff08markdown\u683c\u5f0f\uff09\r\n### generate_markdown_docstring\r\n\r\n\u751f\u6210 docstring markdown \u6587\u6863\u3002\r\nArgs:\r\n    title (str): \u6807\u9898\r\n    dir_path (str): \u5305\u76ee\u5f55\r\n    output_file (str): md \u6587\u4ef6\u8def\u5f84\r\n## hardware.py\r\n\r\n---\r\n\r\n### getDiskInfo\r\n\r\n\u83b7\u53d6\u78c1\u76d8\u4fe1\u606f\u3002\r\n\r\n\u8fd4\u56de:\r\n    str: \u5305\u542b\u78c1\u76d8\u4fe1\u606f\u7684\u5b57\u7b26\u4e32\u3002\r\n### getCPUInfo\r\n\r\n\u83b7\u53d6 CPU \u4fe1\u606f\u3002\r\n\r\n\u8fd4\u56de:\r\n    str: \u5305\u542b CPU \u4fe1\u606f\u7684\u5b57\u7b26\u4e32\u3002\r\n### getGPUInfo\r\n\r\n\u83b7\u53d6 GPU \u4fe1\u606f\u3002\r\n\r\n\u53c2\u6570:\r\n    idx (int, \u53ef\u9009): GPU \u7d22\u5f15\uff0c\u9ed8\u8ba4\u4e3a 0\u3002\r\n\r\n\u8fd4\u56de:\r\n    str: \u5305\u542b GPU \u4fe1\u606f\u7684\u5b57\u7b26\u4e32\u3002\r\n### getSystemInfo\r\n\r\n\u83b7\u53d6\u7cfb\u7edf\u4fe1\u606f\u3002\r\n\r\n\u8fd4\u56de:\r\n    str: \u5305\u542b\u7cfb\u7edf\u4fe1\u606f\u7684\u5b57\u7b26\u4e32\u3002\r\n### getMemoryInfo\r\n\r\n\u83b7\u53d6\u5185\u5b58\u4fe1\u606f\u3002\r\n\r\n\u8fd4\u56de:\r\n    str: \u5305\u542b\u5185\u5b58\u4fe1\u606f\u7684\u5b57\u7b26\u4e32\u3002\r\n## misc.py\r\n\r\n---\r\n\r\n### istuple\r\n\r\n\u68c0\u67e5\u5bf9\u8c61\u662f\u5426\u4e3a\u5143\u7ec4\u3002\r\n\r\nArgs:\r\n    t (object): \u5f85\u68c0\u67e5\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u82e5\u4e3a\u5143\u7ec4\u5219\u8fd4\u56de True\uff0c\u5426\u5219\u8fd4\u56de False\u3002\r\n### islist\r\n\r\n\u68c0\u67e5\u5bf9\u8c61\u662f\u5426\u4e3a\u5217\u8868\u3002\r\n\r\nArgs:\r\n    lst (object): \u5f85\u68c0\u67e5\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u82e5\u4e3a\u5217\u8868\u5219\u8fd4\u56de True\uff0c\u5426\u5219\u8fd4\u56de False\u3002\r\n### isndarray\r\n\r\n\u68c0\u67e5\u5bf9\u8c61\u662f\u5426\u4e3a NumPy \u6570\u7ec4\uff08ndarray\uff09\u3002\r\n\r\nArgs:\r\n    lst (object): \u5f85\u68c0\u67e5\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u82e5\u4e3a NumPy \u6570\u7ec4\u5219\u8fd4\u56de True\uff0c\u5426\u5219\u8fd4\u56de False\u3002\r\n### isdict\r\n\r\n\u68c0\u67e5\u5bf9\u8c61\u662f\u5426\u4e3a\u5b57\u5178\u3002\r\n\r\nArgs:\r\n    dt (object): \u5f85\u68c0\u67e5\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u82e5\u4e3a\u5b57\u5178\u5219\u8fd4\u56de True\uff0c\u5426\u5219\u8fd4\u56de False\u3002\r\n### isfunc\r\n\r\n\u68c0\u67e5\u5bf9\u8c61\u662f\u5426\u4e3a\u51fd\u6570\uff08\u53ef\u8c03\u7528\uff09\u3002\r\n\r\nArgs:\r\n    func (object): \u5f85\u68c0\u67e5\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u82e5\u4e3a\u51fd\u6570\uff08\u53ef\u8c03\u7528\uff09\u5219\u8fd4\u56de True\uff0c\u5426\u5219\u8fd4\u56de False\u3002\r\n### isvalue\r\n\r\n\u68c0\u67e5\u5bf9\u8c61\u662f\u5426\u4e3a\u5b57\u7b26\u4e32\u3001\u6574\u6570\u6216\u6d6e\u70b9\u6570\u3002\r\n\r\nArgs:\r\n    obj (object): \u5f85\u68c0\u67e5\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u82e5\u4e3a\u5b57\u7b26\u4e32\u3001\u6574\u6570\u6216\u6d6e\u70b9\u6570\u5219\u8fd4\u56de True\uff0c\u5426\u5219\u8fd4\u56de False\u3002\r\n### isbool\r\n\r\n\u68c0\u67e5\u5bf9\u8c61\u662f\u5426\u4e3a\u5e03\u5c14\u7c7b\u578b\u3002\r\n\r\nArgs:\r\n    val (object): \u5f85\u68c0\u67e5\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u82e5\u4e3a\u5e03\u5c14\u7c7b\u578b\u5219\u8fd4\u56de True\uff0c\u5426\u5219\u8fd4\u56de False\u3002\r\n### reverseTuple\r\n\r\n\u53cd\u8f6c\u5143\u7ec4\u3002\r\n\r\nArgs:\r\n    t (tuple): \u5f85\u53cd\u8f6c\u7684\u5143\u7ec4\u3002\r\n\r\nReturns:\r\n    tuple: \u53cd\u8f6c\u540e\u7684\u5143\u7ec4\u3002\r\n### rndStr\r\n\r\n\u751f\u6210 1000 \u5230 2000 \u4e4b\u95f4\u7684\u968f\u673a\u6574\u6570\u4f5c\u4e3a\u5b57\u7b26\u4e32\u3002\r\n\r\nReturns:\r\n    str: \u751f\u6210\u7684\u968f\u673a\u6574\u6570\u5b57\u7b26\u4e32\u3002\r\n### toBool\r\n\r\n\u5c06\u8f93\u5165\u503c\u8f6c\u6362\u4e3a\u5e03\u5c14\u7c7b\u578b\u3002\r\n\r\nArgs:\r\n    value (any): \u5f85\u8f6c\u6362\u7684\u503c\u3002\r\n\r\nReturns:\r\n    bool: \u8f6c\u6362\u540e\u7684\u5e03\u5c14\u503c\u3002\r\n### toValue\r\n\r\n\u5c06\u503c\u8f6c\u6362\u4e3a\u6307\u5b9a\u7c7b\u578b\u3002\r\n\r\nArgs:\r\n    value (any): \u5f85\u8f6c\u6362\u7684\u503c\u3002\r\n    type (str): \u76ee\u6807\u7c7b\u578b\uff0c\u53ef\u9009\u503c\u5305\u62ec 'str', 'int', 'float', 'bool', 'datetime', 'date' \u6216 'time'\u3002\r\n    format (str, optional): \u65e5\u671f\u65f6\u95f4\u683c\u5f0f\uff08\u4ec5\u5bf9\u65e5\u671f\u65f6\u95f4\u7c7b\u578b\u6709\u6548\uff09\u3002\r\n\r\nReturns:\r\n    any: \u8f6c\u6362\u540e\u7684\u503c\u3002\r\n### toStr\r\n\r\n\u5c06\u503c\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u683c\u5f0f\u3002\r\n\r\nArgs:\r\n    value (any): \u5f85\u8f6c\u6362\u7684\u503c\u3002\r\n    type (str): \u539f\u59cb\u503c\u7684\u7c7b\u578b\uff0c\u53ef\u9009\u503c\u5305\u62ec 'str', 'int', 'float' \u6216 'bool'\u3002\r\n    format (str, optional): \u65e5\u671f\u65f6\u95f4\u683c\u5f0f\uff08\u4ec5\u5bf9\u65e5\u671f\u65f6\u95f4\u7c7b\u578b\u6709\u6548\uff09\u3002\r\n\r\nReturns:\r\n    str: \u8f6c\u6362\u540e\u7684\u5b57\u7b26\u4e32\u3002\r\n### dict2Object\r\n\r\n\u9012\u5f52\u5c06\u5b57\u5178\u8f6c\u6362\u4e3a\u5bf9\u8c61\u3002\r\n\r\nArgs:\r\n    dt (dict): \u5f85\u8f6c\u6362\u7684\u5b57\u5178\u3002\r\n\r\nReturns:\r\n    object: \u8f6c\u6362\u540e\u7684\u5bf9\u8c61\u3002\r\n### getProperties\r\n\r\n\u83b7\u53d6\u5b57\u5178\u6216\u5bf9\u8c61\u7684\u6210\u5458\u5c5e\u6027\u5217\u8868\u3002\r\n\r\nArgs:\r\n    obj (dict|object): \u5f85\u83b7\u53d6\u5c5e\u6027\u7684\u5b57\u5178\u6216\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    list: \u5c5e\u6027\u5217\u8868\u3002\r\n### hasProperty\r\n\r\n\u68c0\u67e5\u5bf9\u8c61\u662f\u5426\u5177\u6709\u6307\u5b9a\u5c5e\u6027\u3002\r\n\r\nArgs:\r\n    obj (dict|object): \u5f85\u68c0\u67e5\u5bf9\u8c61\u3002\r\n    property (str): \u5f85\u68c0\u67e5\u7684\u5c5e\u6027\u540d\u79f0\u3002\r\n\r\nReturns:\r\n    bool: \u82e5\u5bf9\u8c61\u5177\u6709\u6307\u5b9a\u5c5e\u6027\u5219\u8fd4\u56de True\uff0c\u5426\u5219\u8fd4\u56de False\u3002\r\n### getValue\r\n\r\n\u83b7\u53d6\u5b57\u5178\u6216\u5bf9\u8c61\u4e2d\u6307\u5b9a\u952e\u7684\u503c\u3002\r\n\r\nArgs:\r\n    obj (dict|object): \u5f85\u83b7\u53d6\u503c\u7684\u5b57\u5178\u6216\u5bf9\u8c61\u3002\r\n    key (str): \u952e\u540d\u3002\r\n\r\nReturns:\r\n    any: \u952e\u5bf9\u5e94\u7684\u503c\u3002\r\n### setValue\r\n\r\n\u8bbe\u7f6e\u5b57\u5178\u6216\u5bf9\u8c61\u4e2d\u6307\u5b9a\u952e\u7684\u503c\u3002\r\n\r\nArgs:\r\n    obj (dict|object): \u5f85\u8bbe\u7f6e\u503c\u7684\u5b57\u5178\u6216\u5bf9\u8c61\u3002\r\n    key (str): \u952e\u540d\u3002\r\n    value (any): \u5f85\u8bbe\u7f6e\u7684\u503c\u3002\r\n### uniqueEx\r\n\r\n\u5bf9\u5217\u8868\u8fdb\u884c\u53bb\u91cd\u64cd\u4f5c\u3002\r\n\r\nArgs:\r\n    lst (List[object]): \u5f85\u53bb\u91cd\u5217\u8868\u3002\r\n    axis (int, optional): \u64cd\u4f5c\u7ef4\u5ea6\u3002\r\n\r\nReturns:\r\n    list: \u53bb\u91cd\u540e\u7684\u7ed3\u679c\u5217\u8868\u3002\r\n### removeItems\r\n\r\n\u6309\u7d22\u5f15\u5220\u9664\u5143\u7d20\uff0c\u6ce8\u610f\u8981\u4ece\u5927\u5230\u5c0f\u5220\u9664\r\n\r\nArgs:\r\n    lst (List(object)): \u5143\u7d20\u96c6\r\n    idxs (List(int)): \u7d22\u5f15\u96c6\r\n### getItems\r\n\r\n\u4ecelist\u4e2d\u83b7\u53d6idxs\u6307\u5b9a\u7684\u7d22\u5f15\u7684\u591a\u4e2a\u5143\u7d20\r\n\r\nArgs:\r\n    lst (list): list\r\n    idxs (list): \u7d22\u5f15\u96c6\r\n\r\nReturns:\r\n    list: \u6309\u7d22\u5f15\u53d6\u51fa\u7684\u591a\u4e2a\u5143\u7d20\r\n### rlst\r\n\r\nrange to list\r\n\r\nArgs:\r\n    arg (Sequence[int]): \u53c2\u6570\r\n\r\nReturns:\r\n    list: \u8fd4\u56de\u7ed3\u679c\r\n### npSort\r\n\r\n\u5bf9ndarray\u6309\u67d0\u5217\uff08\u53ef\u591a\u5217\uff09\u6392\u5e8f\r\n\r\nArgs:\r\n    arr (ndarray): M*N\uff0c\u53ea\u652f\u6301\u4e8c\u7ef4\r\n    idx (int|list[int]): \u5217\u7d22\u5f15\uff0c\u53ef\u591a\u4e2a\r\n\r\nReturns:\r\n    ndarray: \u6392\u5e8f\u540e\r\n### cls\r\n\r\n\u6e05\u9664\u63a7\u5236\u53f0\u663e\u793a\u5185\u5bb9\u3002\r\n### appPath\r\n\r\n\u83b7\u53d6\u5f53\u524d\u5e94\u7528\u7a0b\u5e8f\u7684\u8def\u5f84\u3002\r\n\r\nReturns:\r\n    str: \u5e94\u7528\u7a0b\u5e8f\u8def\u5f84\u3002\r\n### myPath\r\n\r\n\u83b7\u53d6\u5f53\u524d\u811a\u672c\u7684\u8def\u5f84\u3002\r\n\r\nReturns:\r\n    str: \u811a\u672c\u8def\u5f84\u3002\r\n### tik\r\n\r\n\u8bb0\u5f55\u65f6\u95f4\u6233\u3002\r\n\r\nArgs:\r\n    name (str, optional): \u65f6\u95f4\u6233\u540d\u79f0\uff0c\u9ed8\u8ba4\u4e3a '__tik__'\u3002\r\n### ptik\r\n\r\n\u8ba1\u7b97\u65f6\u95f4\u95f4\u9694\u5e76\u8f93\u51fa\u3002\r\n\r\nArgs:\r\n    name (str, optional): \u65f6\u95f4\u6233\u540d\u79f0\uff0c\u9ed8\u8ba4\u4e3a '__tik__'\u3002\r\n### points\r\n\r\n\u5c06\u5217\u8868\u6216\u5143\u7ec4\u8f6c\u6362\u4e3a NumPy \u6570\u7ec4\u3002\r\n\r\nArgs:\r\n    pts (list|tuple): \u70b9\u96c6\u3002\r\n    dims (int, optional): \u8fd4\u56de\u6570\u7ec4\u7684\u7ef4\u5ea6\u3002\u9ed8\u8ba4\u4e3a 2\u3002\r\n    type (dtype, optional): \u8fd4\u56de\u6570\u7ec4\u7684\u6570\u636e\u7c7b\u578b\u3002\r\n\r\nReturns:\r\n    ndarray: \u8f6c\u6362\u540e\u7684\u6570\u7ec4\u3002\r\n### tuples2Points\r\n\r\n\u5143\u7ec4\u96c6\u8f6c\u70b9\u96c6\u3002\r\n\u5982\uff1a[(1,2),(3,4)] -> [[[1,2], [3,4]]]\r\n\r\nArgs:\r\n    tuples (list): \u5143\u7ec4\u96c6\r\n\r\nReturns:\r\n    points: \u70b9\u96c6\r\n### points2Tuples\r\n\r\n\u70b9\u96c6\u8f6c\u5143\u7ec4\u96c6\u3002\r\n\u5982\uff1a[[[1,2], [3,4]]] -> [(1,2),(3,4)]\r\nArgs:\r\n    points (points): \u70b9\u96c6\r\n\r\nReturns:\r\n    tuples: \u5143\u7ec4\u96c6\r\n### each\r\n\r\n\u904d\u5386\u6bcf\u4e2a\u5143\u7d20\uff0c\u652f\u6301 list/tuple/ndarray\r\n\r\nArgs:\r\n    lst (any): Iterable \u548c Iterator\r\n    callback (function): \u56de\u8c03\u51fd\u6570\r\n### traverse\r\n\r\n\u5e7f\u5ea6\u4f18\u5148\u904d\u5386\r\n\r\nArgs:\r\n    obj (any): \u5bf9\u8c61\uff0c\u6bcf\u4e2a\u5bf9\u8c61\u9700\u8981\u6709 children \u5c5e\u6027\u8868\u793a\u5b69\u5b50\r\n    callback (function): \u56de\u8c03\uff0c\u539f\u578b callback(item, parent, depth)\r\n    depth (int,optional): \u6df1\u5ea6\uff0c\u4ece0\u5f00\u59cb\r\n### traverseList\r\n\r\n\u5e7f\u5ea6\u4f18\u5148\u904d\u5386\u5217\u8868\u5bf9\u8c61\u3002\r\n\r\nArgs:\r\n    items (list): \u5217\u8868\u5bf9\u8c61\u3002\r\n    callback (function): \u56de\u8c03\u51fd\u6570\u3002\r\n    parent (any, optional): \u7236\u7ea7\u5bf9\u8c61\u3002\r\n    depth (int, optional): \u904d\u5386\u6df1\u5ea6\uff0c\u9ed8\u8ba4\u4e3a 0\u3002\r\n### enumName\r\n\r\n\u901a\u8fc7\u679a\u4e3e\u503c\u627e\u5230\u679a\u4e3e\u540d\r\n\r\nArgs:\r\n    enum1 (Enum): \u679a\u4e3e\r\n    value (int): \u503c\r\n\r\nReturns:\r\n    string: \u679a\u4e3e\u540d\r\n### defkv\r\n\r\n\u8fd4\u56de\u5bf9\u8c61\u4e2d\u6307\u5b9a\u952e\u7684\u503c\uff0c\u5982\u679c\u952e\u4e0d\u5b58\u5728\uff0c\u5219\u8fd4\u56de\u9ed8\u8ba4\u503c\u3002\u5982\u679c\u5bf9\u8c61\u662f\u5b57\u5178\u6216\u5f3a\u5236\u4f7f\u7528\u5b57\u5178\uff0c\u5219\u4f7f\u7528get\u65b9\u6cd5\u83b7\u53d6\u503c\uff1b\u5426\u5219\uff0c\u4f7f\u7528getattr\u65b9\u6cd5\u83b7\u53d6\u503c\u3002\r\n\r\nArgs:\r\n    obj (object): \u8981\u67e5\u8be2\u7684\u5bf9\u8c61\uff08\u53ef\u4ee5\u662f\u5b57\u5178\u3001\u5b9e\u4f8b\u5bf9\u8c61\u7b49\uff09\u3002\r\n    key (object): \u8981\u68c0\u7d22\u7684\u952e\u3002\r\n    defval (object): \u9ed8\u8ba4\u503c\uff0c\u5982\u679c\u952e\u4e0d\u5b58\u5728\u65f6\u8fd4\u56de\u8be5\u503c\u3002\r\n    forceDict (bool, optional): \u5982\u679c\u4e3aTrue\uff0c\u5219\u5f3a\u5236\u5c06obj\u89c6\u4e3a\u5b57\u5178\u3002\u9ed8\u8ba4\u4e3aFalse\u3002\r\n\r\nReturns:\r\n    object: \u5bf9\u8c61\u4e2d\u6307\u5b9a\u952e\u7684\u503c\u6216\u9ed8\u8ba4\u503c\u3002\r\n### defv\r\n\r\n\u5982\u679c\u503c\u4e3a\u7a7a\uff08None\u3001\u7a7a\u5b57\u7b26\u4e32\u3001\u7a7a\u5217\u8868\u3001\u7a7a\u5143\u7ec4\u3001\u7a7andarray\u7b49\uff09\uff0c\u5219\u8fd4\u56de\u9ed8\u8ba4\u503c\uff1b\u5426\u5219\uff0c\u8fd4\u56de\u8be5\u503c\u672c\u8eab\u3002\r\n\r\nArgs:\r\n    val (object): \u8981\u68c0\u67e5\u7684\u503c\u3002\r\n    defval (object): \u9ed8\u8ba4\u503c\u3002\r\n\r\nReturns:\r\n    object: \u5982\u679c\u503c\u4e3a\u7a7a\uff0c\u5219\u8fd4\u56de\u9ed8\u8ba4\u503c\uff1b\u5426\u5219\uff0c\u8fd4\u56de\u8be5\u503c\u672c\u8eab\u3002\r\n### argv\r\n\r\n\u53d6\u51fd\u6570\u53c2\u6570\u503c\uff0c\u6709\u503c\u53d6\u503c\uff0c\u6ca1\u503c\u53d6\u9ed8\u8ba4\u503c\r\n\r\nArgs:\r\n    args (tuple|dict): *args \u6216 **kwargs\r\n    i (int|str): args\u5e8f\u53f7\u6216kwargs\u53c2\u6570\u540d\r\n    val (any): \u9ed8\u8ba4\u503c\r\n\r\nReturns:\r\n    any: \u503c\r\n### isN\r\n\r\n\u68c0\u67e5\u7ed9\u5b9a\u5bf9\u8c61\u662f\u5426\u4e3a\u7a7a\uff08None\u3001\u7a7a\u5b57\u7b26\u4e32\u3001\u7a7a\u5217\u8868\u3001\u7a7a\u5143\u7ec4\u3001\u7a7andarray\u7b49\uff09\u3002\r\n\r\nArgs:\r\n    obj (object): \u8981\u68c0\u67e5\u7684\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u5982\u679c\u5bf9\u8c61\u4e3a\u7a7a\uff0c\u5219\u8fd4\u56deTrue\uff1b\u5426\u5219\uff0c\u8fd4\u56deFalse\u3002\r\n### isNN\r\n\r\n\u68c0\u67e5\u7ed9\u5b9a\u5bf9\u8c61\u662f\u5426\u4e0d\u4e3a\u7a7a\uff08\u4e0d\u662fNone\u3001\u4e0d\u662f\u7a7a\u5b57\u7b26\u4e32\u3001\u4e0d\u662f\u7a7a\u5217\u8868\u3001\u4e0d\u662f\u7a7a\u5143\u7ec4\u3001\u4e0d\u662f\u7a7andarray\u7b49\uff09\u3002\r\n\r\nArgs:\r\n    obj (object): \u8981\u68c0\u67e5\u7684\u5bf9\u8c61\u3002\r\n\r\nReturns:\r\n    bool: \u5982\u679c\u5bf9\u8c61\u4e0d\u4e3a\u7a7a\uff0c\u5219\u8fd4\u56deTrue\uff1b\u5426\u5219\uff0c\u8fd4\u56deFalse\u3002\r\n### isT\r\n\r\n\u68c0\u67e5\u503c\u662f\u5426\u4e3aTrue\u3002\r\n\r\nArgs:\r\n    val (object): \u8981\u68c0\u67e5\u7684\u503c\u3002\r\n\r\nReturns:\r\n    bool: \u5982\u679c\u503c\u4e3aTrue\uff0c\u5219\u8fd4\u56deTrue\uff1b\u5426\u5219\uff0c\u8fd4\u56deFalse\u3002\r\n### isF\r\n\r\n\u68c0\u67e5\u503c\u662f\u5426\u4e3aFalse\u3002\r\n\r\nArgs:\r\n    val (object): \u8981\u68c0\u67e5\u7684\u503c\u3002\r\n\r\nReturns:\r\n    bool: \u5982\u679c\u503c\u4e3aFalse\uff0c\u5219\u8fd4\u56deTrue\uff1b\u5426\u5219\uff0c\u8fd4\u56deFalse\u3002\r\n### hex2rgb\r\n\r\n\u5c06\u5341\u516d\u8fdb\u5236\u989c\u8272\u4ee3\u7801\u8f6c\u6362\u4e3aRGB\u989c\u8272\u5143\u7ec4\u3002\r\n\r\nArgs:\r\n    hex_color (str): \u5341\u516d\u8fdb\u5236\u989c\u8272\u4ee3\u7801\uff08\u53ef\u4ee5\u5305\u542b#\uff09\u3002\r\n\r\nReturns:\r\n    tuple: RGB\u989c\u8272\u5143\u7ec4\u3002\r\n### sprt\r\n\r\n\u5c06print\u7684\u8f93\u51fa\u6355\u83b7\u5230StringIO\u5bf9\u8c61\u4e2d\u3002\r\n\r\nArgs:\r\n    lst1 (list): \u5b58\u50a8StringIO\u5bf9\u8c61\u7684\u5217\u8868\u3002\r\n### eprt\r\n\r\n\u5c06\u6355\u83b7\u7684\u8f93\u51fa\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u3002\r\n\r\nArgs:\r\n    lst1 (list): \u5b58\u50a8StringIO\u5bf9\u8c61\u7684\u5217\u8868\u3002\r\n### formatBytes\r\n\r\n\u5c06\u5b57\u8282\u8f6c\u6362\u4e3a\u5408\u9002\u7684\u5355\u4f4d\u683c\u5f0f\uff08\u4f8b\u5982\uff1a1253656 => '1.20MB', 1253656678 => '1.17GB'\uff09\u3002\r\n\r\nArgs:\r\n    bytes (int): \u8981\u8f6c\u6362\u7684\u5b57\u8282\u6570\u3002\r\n    suffix (str, optional): \u5355\u4f4d\u540e\u7f00\u3002\u9ed8\u8ba4\u4e3a\u201cB\u201d\u3002\r\n\r\nReturns:\r\n    str: \u8f6c\u6362\u540e\u7684\u5b57\u7b26\u4e32\u8868\u793a\u3002\r\n### formatMilliseconds\r\n\r\n\u5c06\u6beb\u79d2\u6570\u8f6c\u6362\u4e3a\u5408\u9002\u7684\u65f6\u95f4\u683c\u5f0f\uff08\u4f8b\u5982\uff1a1250 => '1250ms', 125000 => '1.25s', 125000000 => '2.08m'\u7b49\uff09\u3002\r\n\r\nArgs:\r\n    milliseconds (int): \u8981\u8f6c\u6362\u7684\u6beb\u79d2\u6570\u3002\r\n\r\nReturns:\r\n    str: \u8f6c\u6362\u540e\u7684\u65f6\u95f4\u683c\u5f0f\u5b57\u7b26\u4e32\u3002\r\n## misc.py\r\n\r\n---\r\n\r\n### getHTMLFromClipboard\r\n\r\n\u4ece\u526a\u8d34\u677f\u83b7\u53d6 HTML \u6570\u636e\u3002\r\n\r\n\u8fd4\u56de:\r\n    str: \u5982\u679c\u53ef\u7528\uff0c\u8fd4\u56de\u526a\u8d34\u677f\u4e2d\u7684 HTML \u6570\u636e\u3002\r\n### getImageFromClipboard\r\n\r\n\u4ece\u526a\u8d34\u677f\u83b7\u53d6\u56fe\u50cf\u3002\r\n\r\n\u8fd4\u56de:\r\n    list: \u5982\u679c\u53ef\u7528\uff0c\u8fd4\u56de\u526a\u8d34\u677f\u4e2d\u7684\u56fe\u50cf\u5217\u8868\u3002\r\n## dir.py\r\n\r\n---\r\n\r\n### getFiles\r\n\r\n'' \r\n\u83b7\u53d6\u4e00\u4e2a\u76ee\u5f55\u4e0b\u7684\u6240\u6709\u6587\u4ef6 \r\n## file.py\r\n\r\n---\r\n\r\n### fileParts\r\n\r\n\u62c6\u5206\u6587\u4ef6\u8def\u5f84\uff0c\u83b7\u53d6\u6587\u4ef6\u8def\u5f84\u3001\u6587\u4ef6\u540d\u548c\u6269\u5c55\u540d\u3002\r\n\r\n\u53c2\u6570:\r\n    filename (str): \u8981\u5904\u7406\u7684\u6587\u4ef6\u8def\u5f84\u5b57\u7b26\u4e32\u3002\r\n\r\n\u8fd4\u56de:\r\n    tuple: \u6587\u4ef6\u8def\u5f84\u3001\u6587\u4ef6\u540d\u548c\u5c0f\u5199\u7684\u6269\u5c55\u540d\u7ec4\u6210\u7684\u5143\u7ec4\u3002\r\n### readAllText\r\n\r\n\u8bfb\u53d6\u6587\u672c\u6587\u4ef6\u5168\u90e8\u5185\u5bb9\uff0c\u6ce8\u610f\u6587\u4ef6\u7f16\u7801\u5fc5\u987b\u662f utf-8\r\n\r\nArgs:\r\n    filename (string): \u6587\u4ef6\u8def\u5f84\r\n\r\nReturns:\r\n    string: \u6587\u4ef6\u5185\u5bb9\r\n### writeAllText\r\n\r\n\u5c06\u6587\u672c\u5185\u5bb9\u5199\u5165\u6587\u4ef6\u3002\r\n\r\n\u53c2\u6570:\r\n    filename (str): \u8981\u5199\u5165\u7684\u6587\u4ef6\u8def\u5f84\u3002\r\n    content (str): \u8981\u5199\u5165\u7684\u6587\u672c\u5185\u5bb9\u3002\r\n    mode (str, \u53ef\u9009): \u6587\u4ef6\u6253\u5f00\u6a21\u5f0f\uff0c\u9ed8\u8ba4\u4e3a 'w'\uff08\u5199\u5165\u6a21\u5f0f\uff09\u3002\r\n\r\n\u8fd4\u56de:\r\n    str: \u5199\u5165\u6587\u4ef6\u7684\u5b57\u7b26\u6570\u3002\r\n### writeStream\r\n\r\n\u5c06\u4e8c\u8fdb\u5236\u5185\u5bb9\u5199\u5165\u6587\u4ef6\u3002\r\n\r\n\u53c2\u6570:\r\n    filename (str): \u8981\u5199\u5165\u7684\u6587\u4ef6\u8def\u5f84\u3002\r\n    content (bytes): \u8981\u5199\u5165\u7684\u4e8c\u8fdb\u5236\u5185\u5bb9\u3002\r\n    mode (str, \u53ef\u9009): \u6587\u4ef6\u6253\u5f00\u6a21\u5f0f\uff0c\u9ed8\u8ba4\u4e3a 'wb'\uff08\u4e8c\u8fdb\u5236\u5199\u5165\u6a21\u5f0f\uff09\u3002\r\n\r\n\u8fd4\u56de:\r\n    str: \u5199\u5165\u6587\u4ef6\u7684\u5b57\u7b26\u6570\u3002\r\n### clearAllText\r\n\r\n\u6e05\u7a7a\u6587\u4ef6\u5185\u5bb9\u3002\r\n\r\n\u53c2\u6570:\r\n    filename (str): \u8981\u6e05\u7a7a\u5185\u5bb9\u7684\u6587\u4ef6\u8def\u5f84\u3002\r\n### fileType\r\n\r\n\u83b7\u53d6\u6587\u4ef6\u7c7b\u578b\r\n\r\nArgs:\r\n    filename (str): \u6587\u4ef6\u540d\u3001\u8def\u5f84\u3001\u6269\u5c55\u540d(\u5982 .txt)\r\n\r\nReturns:\r\n    str: \u7c7b\u578b image/office/...\r\n## zip.py\r\n\r\n---\r\n\r\n### zipFolder\r\n\r\n\u538b\u7f29\u6587\u4ef6\u5939\u5e76\u6392\u9664\u6307\u5b9a\u7684\u76ee\u5f55\u3002\r\n\r\n:param folder_path: \u8981\u538b\u7f29\u7684\u6587\u4ef6\u5939\u7684\u8def\u5f84\u3002\r\n:param output_path: \u538b\u7f29\u6587\u4ef6\u7684\u8f93\u51fa\u8def\u5f84\u3002\r\n:param exclude_dirs: \u8981\u6392\u9664\u7684\u76ee\u5f55\u5217\u8868\u3002\r\n### addFolderToZip\r\n\r\n\u6dfb\u52a0\u6587\u4ef6\u5939\u5230zip\u6587\u4ef6\r\n## audio.py\r\n\r\n---\r\n\r\n### segAudio\r\n\r\n\u6307\u5b9a\u79d2\u6570\uff0c\u5206\u5272\u97f3\u9891\u4e3a\u591a\u4efd\u6587\u4ef6\r\n### cutAudio\r\n\r\n\u622a\u53d6\u97f3\u9891\r\n## image.py\r\n\r\n---\r\n\r\n### makeThumbnail\r\n\r\n\u751f\u6210\u7f29\u7565\u56fe\r\n### colorOverlay\r\n\r\n\u7ed9\u56fe\u50cf\u6dfb\u52a0\u989c\u8272\u53e0\u52a0\u5c42\u3002\r\n\r\n\u53c2\u6570:\r\n    img (PIL.Image.Image): \u539f\u59cb\u56fe\u50cf\u3002\r\n    rgba (tuple): \u5305\u542b\u989c\u8272\u4fe1\u606f\u7684\u5143\u7ec4\uff0c\u5f62\u5982 (R, G, B, A)\u3002\r\n\r\n\u8fd4\u56de:\r\n    PIL.Image.Image: \u6dfb\u52a0\u989c\u8272\u53e0\u52a0\u5c42\u540e\u7684\u56fe\u50cf\u3002\r\n### setAlpha\r\n\r\n\u8bbe\u7f6e\u56fe\u50cf\u7684\u900f\u660e\u5ea6\u3002\r\n\r\n\u53c2\u6570:\r\n    img (PIL.Image.Image): \u8981\u8bbe\u7f6e\u900f\u660e\u5ea6\u7684\u56fe\u50cf\u3002\r\n    alpha (float): \u900f\u660e\u5ea6\u503c\uff0c\u53d6\u503c\u8303\u56f4\u5728 0 \u5230 1 \u4e4b\u95f4\u3002\r\n\r\n\u8fd4\u56de:\r\n    None: \u8be5\u51fd\u6570\u76f4\u63a5\u4fee\u6539\u4f20\u5165\u7684\u56fe\u50cf\u5bf9\u8c61\uff0c\u4e0d\u8fd4\u56de\u65b0\u7684\u56fe\u50cf\u3002\r\n## video.py\r\n\r\n---\r\n\r\n### removeGreenBG\r\n\r\n\u79fb\u9664\u7eff\u5e55\u3002\r\n### overlayVideo\r\n\r\n\u5c06mainvideo\u79fb\u9664\u7eff\u5e55\uff0c\u4e0eoverlays\u8fdb\u884c\u53e0\u52a0\u5728\u4e00\u8d77\u3002\r\n\u89c6\u9891\u548c\u53e0\u52a0\u7269\u90fd\u662f\u4e00\u4e2a\u5bf9\u8c61\uff0c\u5305\u542b Url/Width/Height/X/Y/Z\uff0cZ\u8d8a\u5927\u8d8a\u5728\u524d\u3002\r\n\u6700\u7ec8fps\u4e0emainvideo\u4e00\u81f4\u3002\r\n### segVideo\r\n\r\n\u6307\u5b9a\u79d2\u6570\uff0c\u5206\u5272\u89c6\u9891\u4e3a\u591a\u4efd\u6587\u4ef6\r\n### cutVideo\r\n\r\n\u88c1\u526a\u89c6\u9891\r\nstart\uff1a\u5f00\u59cb\u79d2\u6570\r\nend\uff1a\u7ed3\u675f\u79d2\u6570\r\n### captureVideoFrame\r\n\r\n\u622a\u53d6\u89c6\u9891\u6587\u4ef6\u67d0\u4e00\u5e27\u7684\u753b\u9762\r\nframe_number \u53ef\u4ee5\u662f\u5177\u4f53\u7684\u5e27\u6570\uff08\u6ce8\u610f\u4ece0\u5f00\u59cb\u5230\u603b\u5e27\u6570-1\uff09\uff0c\u4e5f\u53ef\u4ee5\u662f\uff1a\r\n-1 \u6700\u540e\u4e00\u5e27\r\n0 \u7b2c\u4e00\u5e27\r\n0.5 \u4e2d\u95f4\u5e27\uff0c\u5728(0.0,1.0)\u4e2d\u95f4\u90fd\u8868\u793a\u4e3a\u767e\u5206\u6bd4\r\n### getVideoSize\r\n\r\n\u83b7\u53d6\u89c6\u9891\u6587\u4ef6\u5bbd\u9ad8\r\n### extactAudio\r\n\r\n\u4ece\u89c6\u9891\u4e2d\u53d6\u51fa\u97f3\u9891\u90e8\u5206\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "An many/more extension/utils for python",
    "version": "1.0.4",
    "project_urls": {
        "Bug Tracker": "https://github.com/pypa/sampleproject/issues",
        "Homepage": "https://github.com/pypa/sampleproject"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ced8af91812e3e84cef8d7036711b8207ab1081bb379bf6a63e1b465caab875",
                "md5": "70dd536e641635cb9cabb3db32b36427",
                "sha256": "c2271cbdb830b6e9da058d042832870e2caa197b28b3bda0da3e14e70392340e"
            },
            "downloads": -1,
            "filename": "mxupy-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "70dd536e641635cb9cabb3db32b36427",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5434,
            "upload_time": "2023-12-04T07:00:39",
            "upload_time_iso_8601": "2023-12-04T07:00:39.837403Z",
            "url": "https://files.pythonhosted.org/packages/4c/ed/8af91812e3e84cef8d7036711b8207ab1081bb379bf6a63e1b465caab875/mxupy-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "02c080af9c3cd522750f29c543dddb2962ed46b0afb5cd19489802d488ddc802",
                "md5": "7d7aa0723ca7955268f5b4b99632a669",
                "sha256": "636d06b876988c46cc7f4fc7241197bcb9cceb799225269c65d900c235401d0a"
            },
            "downloads": -1,
            "filename": "mxupy-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "7d7aa0723ca7955268f5b4b99632a669",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 6457,
            "upload_time": "2023-12-04T07:00:41",
            "upload_time_iso_8601": "2023-12-04T07:00:41.843466Z",
            "url": "https://files.pythonhosted.org/packages/02/c0/80af9c3cd522750f29c543dddb2962ed46b0afb5cd19489802d488ddc802/mxupy-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-04 07:00:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pypa",
    "github_project": "sampleproject",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "mxupy"
}
        
Elapsed time: 0.14456s