Name | mxupy JSON |
Version |
1.0.4
JSON |
| download |
home_page | https://github.com/pypa/sampleproject |
Summary | An many/more extension/utils for python |
upload_time | 2023-12-04 07:00:41 |
maintainer | |
docs_url | None |
author | jerry |
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"
}