From 0c521c2016154d553f69b2c493548d51699eb63b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaxsen=20Xu=28=E8=AE=B8=E6=B6=A6=E6=9D=B0=29?= Date: Tue, 11 Apr 2023 15:02:30 +0800 Subject: [PATCH 1/2] upgrade component --- .../Queue.md" | 109 ++++++++ .../README.md" | 5 + .../ql_fs.md" | 232 ++++++++++++++++++ .../sys_bus.md" | 106 ++++++++ .../ussl.md" | 92 +++++++ .../uwebsocket.md" | 86 +++++++ 6 files changed, 630 insertions(+) create mode 100644 "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" create mode 100644 "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" create mode 100644 "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" create mode 100644 "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" create mode 100644 "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" new file mode 100644 index 00000000..5d9ea735 --- /dev/null +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" @@ -0,0 +1,109 @@ +# Queue - 普通队列 + +模块功能: 用于线程间通信 + + + +## 构造函数 + +### `Queue` + +```python +class queue.Queue(maxsize=100) +``` + +**参数** + +maxsize-队列最大长度, int类型, 默认长度是100 + +**示例** + +```python +>>> from queue import Queue +>>> q = Queue(100) +``` + + + +## 往队列放入数据 + +### `q.put` + +往队列中塞入数据 + +```python +q.put(data) +``` + +**参数** +data-数据或信号, 任意类型, 插入的数据, 可以为空不传, 不传则可认识是放松了一个空信号 + +**返回值** + +True 为成功, False 为失败 + + + +## 获取数据 + +### `q.get` + +从队列中获取数据, 这里需要注意一下获取数据这块的是阻塞获取 + +```python +q.get() +``` + +**返回值** + +为队列中的数据, 如果是空信号则会获取为None + + + +## 查看队列是否为空 + +### `q.empty` + +```python +q.empty() +``` + +**返回值** + +True则为空, False则不为空 + + + +## 查看队列中存在的数据个数 + +### `q.size` + +```python +q.size() +``` + +**返回值** + +int类型的当前数据长度 + + + +**示例** + +```python +import _thread +from queue import Queue + +# 初始化队列 默认长度100 +q = Queue() + + +def get(): + while True: + # 阻塞获取 + data = q.get() + print("data = {}".format(data)) + +# 线程去阻塞 +_thread.start_new_thread(get, ()) +``` \ No newline at end of file diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/README.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/README.md" index 97a5d24a..558e3e04 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/README.md" +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/README.md" @@ -7,10 +7,15 @@ ## QuecPython 组件库列表 - [aLiYun - 阿里云服务](./aLiYun.md) +- [ql_fs - 文件存储](./ql_fs.md) +- [Queue - 队列](./Queue.md) +- [sys_bus - 会话总线](./sys_bus.md) +- [uwebsocket - websocket](./uwebsocket.md) - [TenCentYun - 腾讯云服务](./TenCentYun.md) - [request - HTTP请求](./request.md) - [log - 日志模块](./log.md) - [umqtt - MQTT模块](./umqtt.md) +- [ussl - ussl模块](./ussl.md) - [...](./....md) diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" new file mode 100644 index 00000000..197fe10b --- /dev/null +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" @@ -0,0 +1,232 @@ +# ql_fs - 高级文件操作 + +模块功能: 用于文件的高级操作 + +> 注意: 适配版本, BC25不支持 + + + +## 导入ql_fs + +### `ql_fs` + +```python +import ql_fs +``` + + + +## 查看文件或文件夹是否存在 + +### `ql_fs.path_exists` + +```python +ql_fs.path_exists(file_path) +``` + +**参数:** + +file_path-文件路径, string类型, 文件或文件夹的绝对路径 + +**返回值** + +存在返回 True, 不存在返回False + +**示例** + +```python +>>> import ql_fs +>>> ret = ql_fs.path_exists("/usr/xxx.py") +>>> print(ret) + +# 存在打印True 不存在 FalseCopy to clipboardErrorCopied +``` + + + +## 获取文件所在文件夹路径 + +### `ql_fs.path_dirname` + +```python +ql_fs.path_dirname(file_path) +``` + +**参数:** + +file_path-文件路径, string类型, 文件或文件夹的绝对路径 + +**返回值** + +string类型的路径地址 + +**示例** + +```python +>>> import ql_fs +>> ret = ql_fs.path_dirname("/usr/bin") +>>> print(ret) + +# 打印结果如下 +# /usr +``` + + + +## 创建文件夹 + +### `ql_fs.mkdirs` + +```python +ql_fs.mkdirs(dir_path) +``` + +该方法递归式创建文件夹, 传入文件夹路径 + +**参数:** + +dir_path-文件路径, string类型, 所要创建的文件夹绝对路径 + +**使用示例** + +```python +>>> import ql_fs +>>> ql_fs.mkdirs("usr/a/b") +``` + + + + + +## 删除文件夹 + +### `ql_fs.rmdirs` + +```python +ql_fs.rmdirs(dir_path) +``` + +**参数:** + +dir_path-文件路径, string类型, 所要创建的文件夹绝对路径 + +**使用示例** + +```python +import ql_fs + +ql_fs.rmdirs("usr/a/b") +``` + + + +## 获取文件大小 + +### `ql_fs.path_getsize` + +```python +ql_fs.path_getsize(file_path) +``` + +**参数:** + +file_path-文件路径, string类型, 文件或文件夹的绝对路径 + +**返回值** + +int类型的数字, 单位是字节 + +**示例** + +```python +import ql_fs + +ql_fs.path_getsize('usr/system_config.json') +``` + + + +## 创建文件 + +### `ql_fs.touch` + +```python +ql_fs.touch(file, data) +``` + +创建文件或者更新文件数据, 默认是json文件也可传入文本文件更新, 会自动创建文件夹然后创建或更新文件的内容 + +**参数:** + +file-文件路径, string类型, 文件或文件夹的绝对路径 + + data-数据, dict类型, 所要写入的数据,目前只支持json文件 + +**返回值** + +int类型, 0为成功, -1则失败 + +**使用示例** + +```python +>>> import ql_fs +>>> data = {"test":1} +>>> ql_fs.touch("/usr/bin/config.json", data) +``` + + + +## 读取json文件 + +### `ql_fs.read_json` + +```python +ql_fs.read_json(file) +``` + +json文件类型的直接读取json文件并返回, 非json文件类型返回为读取的字符串数据类型 + +**参数** + +file-文件路径, string类型, 文件或文件夹的绝对路径 + +**返回值** + +读取成功, 返回dict类型 + +失败, 返回None + +**使用示例** + +```python +>>> import ql_fs +>>> data = ql_fs.read_json("/usr/system_config.json") +``` + + + +## 文件拷贝 + +### `ql_fs.file_copy` + +```python +ql_fs.file_copy(dst, src) +``` + +将文件从原路径拷贝到目标路径 + +**参数** + +dst-目标文件, string类型, 目标路径路径 +src-源文件, string类型, 源文件路径 + +**返回值** + +True代表拷贝成功 + +**示例** + +```python +>>> import ql_fs +>>> ql_fs.file_copy("usr/a.json", "usr/system_config.json") +``` \ No newline at end of file diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" new file mode 100644 index 00000000..79824cce --- /dev/null +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" @@ -0,0 +1,106 @@ +# sys_bus会话总线 + +模块功能: 用于消息的订阅和发布广播, 多线程处理等,用于一对多的广播, 类似于内部的mqtt + + + +## 订阅topic + +### `sys_bus.subscribe` + +```python +import sys_bus + +sys_bus.subscribe(topic, handler) +``` + +**参数** + +topic-主题, string/int类型, 所需要订阅的topic +handler-处理函数, func函数类型, 处理函数, 当有对应topic过来时, 会对应调用其中的处理函数去处理 handler 需要有两个参数(topic, msg) + + + +## 发布topic消息 + +### `sys_bus.publish` + +```python +sys_bus.publish(topic , msg) +``` + +发布消息, 对应订阅的topic将收到并多线程对此消息处理 + +**参数** + +topic-主题, string/int类型, 所需要订阅的topic +msg-处理函数, 任意类型, 发布的数据 + + + + + +## 查看会话总线注册表 + +### `sys_bus.sub_table` + +```python +sys_bus.sub_table(topic=None) +``` + +查看订阅注册表, 注册表中有所有topic和订阅的函数 + +**参数** +topic-主题, string/int类型, 可以不传 传表示查看此topic的注册表 不传表示查看所有的topic的注册表 + +**返回值** + +dict / list类型的订阅函数列表或注册表 + + + +## 解除订阅 + +### `sys_bus.unsubscribe` + +```python +sys_bus.unsubscribe(topic , cb=None) +``` + +解除订阅订阅的topic, 或者对应topic下的某个函数, 当cb不传时只传入topic时删除topic和从topic下所有的订阅函数, 如果传了cb则删除订阅topic下面订阅列表中的对应的cb函数 + + + +**参数** +topic-主题, string/int类型, 可以不传 传表示查看此topic的注册表 不传表示查看所有的topic的注册表 + +cb-回调函数, func函数类型, 要删除的订阅函数, 不传则删除topic + +**返回值** + +True 删除成功, False删除失败 + + + +**示例** + +```python +import sys_bus + + +def test(topic, msg): + print("test ... topic = {} msg = {}".format(topic, msg)) + +# 订阅 +sys_bus.subscribe("test", test) +# 发布 +sys_bus.publish("test", "this is a test msg") + +# test ... topic = test msg = this is a test msg + +# 解绑对应test topic下的订阅的test函数 +sys_bus.unsubscribe("test", test) + +# 解绑对应test topic下的所有订阅函数 +sys_bus.unsubscribe("test")Copy to clipboardErrorCopied +``` \ No newline at end of file diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" new file mode 100644 index 00000000..54ea1ca0 --- /dev/null +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" @@ -0,0 +1,92 @@ +# SSL + +注意 BC25PA平台不支持模块功能。 + + + +### ssl加密算法套件支持 + + + +| 算法套件 | +| ------------------------------------------------------ | +| TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9) | +| TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xccaa) | +| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8) | +| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c) | +| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) | +| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f) | +| TLS_ECDHE_ECDSA_WITH_AES_256_CCM (0xc0ad) | +| TLS_DHE_RSA_WITH_AES_256_CCM (0xc09f) | +| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024) | +| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) | +| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b) | +| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a) | +| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) | +| TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039) | +| TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 (0xc0af) | +| TLS_DHE_RSA_WITH_AES_256_CCM_8 (0xc0a3) | +| TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 (0xc087) | +| TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 (0xc08b) | +| TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 (0xc07d) | +| TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc073) | +| TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc077) | +| TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 (0x00c4) | +| TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0088) | +| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b) | +| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) | +| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e) | +| TLS_ECDHE_ECDSA_WITH_AES_128_CCM (0xc0ac) | +| TLS_DHE_RSA_WITH_AES_128_CCM (0xc09e) | +| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023) | +| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) | +| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067) | +| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009) | +| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) | +| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033) | +| TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (0xc0ae) | +| TLS_DHE_RSA_WITH_AES_128_CCM_8 (0xc0a2) | +| TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 (0xc086) | +| TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 (0xc08a) | +| TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 (0xc07c) | +| TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc072) | +| TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc076) | +| TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0x00be) | +| TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0045) | +| TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d) | +| TLS_RSA_WITH_AES_256_CCM (0xc09d) | +| TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d) | +| TLS_RSA_WITH_AES_256_CBC_SHA (0x0035) | +| TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 (0xc032) | +| TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (0xc02a) | +| TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f) | +| TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02e) | +| TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (0xc026) | +| TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005) | +| TLS_RSA_WITH_AES_256_CCM_8 (0xc0a1) | +| TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 (0xc07b) | +| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 (0x00c0) | +| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084) | +| TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 (0xc08d) | +| TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc079) | +| TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 (0xc089) | +| TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc075) | +| TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c) | +| TLS_RSA_WITH_AES_128_CCM (0xc09c) | +| TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c) | +| TLS_RSA_WITH_AES_128_CBC_SHA (0x002f) | +| TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 (0xc031) | +| TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 (0xc029) | +| TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e) | +| TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02d) | +| TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (0xc025) | +| TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004) | +| TLS_RSA_WITH_AES_128_CCM_8 (0xc0a0) | +| TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 (0xc07a) | +| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0x00ba) | +| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041) | +| TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 (0xc08c) | +| TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc078) | +| TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 (0xc088) | +| TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc074) | +| TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff) | \ No newline at end of file diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" new file mode 100644 index 00000000..759bd876 --- /dev/null +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" @@ -0,0 +1,86 @@ +# uwebsocket + +模块功能: 提供用于websocket连接使用 + + + +## 客户端连接 + +### `uwebsocket.Client.connect` + +```python +>>> import uwebsocket +>>> ws_client = uwebsocket.Client.connect(uri, headers=None, debug=False) +``` + +**参数**: +uri - str类型, websocket的连接地址, 一般以"ws://xxx/"或"wss://xxx/"形式存在 +headers - dict类型, 额外需要添加的headers, 用于除了标准连接头之外, 允许用户自己传额外的头部 +debug - bool类型, 默认False, 当为True的情况下, 会输出日志 + + + +## send发送数据 + +### `ws_client.send` + +```python +ws_client.send(msg) +``` + +**参数** +msg - str类型, 需要发送的数据 + + + +## recv接收数据 + +### `ws_client.recv` + +```python +ws_client.recv() +``` + +**返回值** +result - str类型, 返回的结果, 就是recv的结果, 当接受空值或None的时候, 为连接被关闭 + + + +## 关闭连接 + +### `ws_client.close` + +```python +ws_client.close() +``` + + + +**使用示例** + +```python +from usr import uwebsocket +import _thread + + +def recv(cli): + while True: + # 死循环接收数据 + recv_data = cli.recv() + print("recv_data = {}".format(recv_data)) + if not recv_data: + # 服务器关闭连接或客户端关闭连接 + print("cli close") + client.close() + break + + +# 创建客户端, debug=True输出日志, ip和端口需要自己填写, 或者是域名 +client = uwebsocket.Client.connect('ws://xxx/', debug=True) + +# 线程接收数据 +_thread.start_new_thread(recv, (client,)) + +# 发送数据 +client.send("this is a test msg") +``` \ No newline at end of file -- Gitee From c06307599d57c02152971898de5f9ba4bcf88583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaxsen=20Xu=28=E8=AE=B8=E6=B6=A6=E6=9D=B0=29?= Date: Tue, 11 Apr 2023 18:26:31 +0800 Subject: [PATCH 2/2] update desp --- .../Queue.md" | 30 ++++---- .../ql_fs.md" | 70 ++++++++----------- .../sys_bus.md" | 28 ++++---- .../ussl.md" | 2 +- .../uwebsocket.md" | 16 ++--- 5 files changed, 69 insertions(+), 77 deletions(-) diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" index 5d9ea735..5b50f4ba 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" @@ -6,17 +6,17 @@ ## 构造函数 -### `Queue` +### `queue.Queue` ```python class queue.Queue(maxsize=100) ``` -**参数** +**参数描述:** -maxsize-队列最大长度, int类型, 默认长度是100 +`maxsize`-队列最大长度, int类型, 默认长度是100 -**示例** +**示例**: ```python >>> from queue import Queue @@ -27,7 +27,7 @@ maxsize-队列最大长度, int类型, 默认长度是100 ## 往队列放入数据 -### `q.put` +### `Queue.put` 往队列中塞入数据 @@ -35,10 +35,10 @@ maxsize-队列最大长度, int类型, 默认长度是100 q.put(data) ``` -**参数** -data-数据或信号, 任意类型, 插入的数据, 可以为空不传, 不传则可认识是放松了一个空信号 +**参数描述:** +`data`-数据或信号, 任意类型, 插入的数据, 可以为空不传, 不传则可认识是放松了一个空信号 -**返回值** +**返回值描述:** True 为成功, False 为失败 @@ -46,7 +46,7 @@ True 为成功, False 为失败 ## 获取数据 -### `q.get` +### `Queue.get` 从队列中获取数据, 这里需要注意一下获取数据这块的是阻塞获取 @@ -54,7 +54,7 @@ True 为成功, False 为失败 q.get() ``` -**返回值** +**返回值描述:** 为队列中的数据, 如果是空信号则会获取为None @@ -62,13 +62,13 @@ q.get() ## 查看队列是否为空 -### `q.empty` +### `Queue.empty` ```python q.empty() ``` -**返回值** +**返回值描述:** True则为空, False则不为空 @@ -76,19 +76,19 @@ True则为空, False则不为空 ## 查看队列中存在的数据个数 -### `q.size` +### `Queue.size` ```python q.size() ``` -**返回值** +**返回值描述:** int类型的当前数据长度 -**示例** +**示例**: ```python import _thread diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" index 197fe10b..67621bad 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" @@ -6,14 +6,6 @@ -## 导入ql_fs - -### `ql_fs` - -```python -import ql_fs -``` - ## 查看文件或文件夹是否存在 @@ -24,15 +16,15 @@ import ql_fs ql_fs.path_exists(file_path) ``` -**参数:** +**参数描述:** -file_path-文件路径, string类型, 文件或文件夹的绝对路径 +`file_path`-文件路径, string类型, 文件或文件夹的绝对路径 -**返回值** +**返回值描述:** 存在返回 True, 不存在返回False -**示例** +**示例:** ```python >>> import ql_fs @@ -52,15 +44,15 @@ file_path-文件路径, string类型, 文件或文件夹的绝对路径 ql_fs.path_dirname(file_path) ``` -**参数:** +**参数描述:** -file_path-文件路径, string类型, 文件或文件夹的绝对路径 +`file_path`-文件路径, string类型, 文件或文件夹的绝对路径 -**返回值** +**返回值描述:** string类型的路径地址 -**示例** +**示例:** ```python >>> import ql_fs @@ -83,11 +75,11 @@ ql_fs.mkdirs(dir_path) 该方法递归式创建文件夹, 传入文件夹路径 -**参数:** +**参数描述:** -dir_path-文件路径, string类型, 所要创建的文件夹绝对路径 +`dir_path`-文件路径, string类型, 所要创建的文件夹绝对路径 -**使用示例** +**示例:** ```python >>> import ql_fs @@ -106,16 +98,16 @@ dir_path-文件路径, string类型, 所要创建的文件夹绝对路径 ql_fs.rmdirs(dir_path) ``` -**参数:** +**参数描述:** -dir_path-文件路径, string类型, 所要创建的文件夹绝对路径 +`dir_path`-文件路径, string类型, 所要创建的文件夹绝对路径 -**使用示例** +**示例:** ```python -import ql_fs +>>> import ql_fs -ql_fs.rmdirs("usr/a/b") +>>> ql_fs.rmdirs("usr/a/b") ``` @@ -130,7 +122,7 @@ ql_fs.path_getsize(file_path) **参数:** -file_path-文件路径, string类型, 文件或文件夹的绝对路径 +`file_path`-文件路径, string类型, 文件或文件夹的绝对路径 **返回值** @@ -156,17 +148,17 @@ ql_fs.touch(file, data) 创建文件或者更新文件数据, 默认是json文件也可传入文本文件更新, 会自动创建文件夹然后创建或更新文件的内容 -**参数:** +**参数描述:** -file-文件路径, string类型, 文件或文件夹的绝对路径 +`file`-文件路径, string类型, 文件或文件夹的绝对路径 - data-数据, dict类型, 所要写入的数据,目前只支持json文件 + `data`-数据, dict类型, 所要写入的数据,目前只支持json文件 -**返回值** +**返回值描述:** int类型, 0为成功, -1则失败 -**使用示例** +**示例**: ```python >>> import ql_fs @@ -186,17 +178,17 @@ ql_fs.read_json(file) json文件类型的直接读取json文件并返回, 非json文件类型返回为读取的字符串数据类型 -**参数** +**参数描述:** -file-文件路径, string类型, 文件或文件夹的绝对路径 +`file`-文件路径, string类型, 文件或文件夹的绝对路径 -**返回值** +**返回值描述:** 读取成功, 返回dict类型 失败, 返回None -**使用示例** +**示例**: ```python >>> import ql_fs @@ -215,16 +207,16 @@ ql_fs.file_copy(dst, src) 将文件从原路径拷贝到目标路径 -**参数** +**参数描述:** -dst-目标文件, string类型, 目标路径路径 -src-源文件, string类型, 源文件路径 +`dst`-目标文件, string类型, 目标路径路径 +`src`-源文件, string类型, 源文件路径 -**返回值** +**返回值描述:** True代表拷贝成功 -**示例** +**示例**: ```python >>> import ql_fs diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" index 79824cce..de963200 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" @@ -14,10 +14,10 @@ import sys_bus sys_bus.subscribe(topic, handler) ``` -**参数** +**参数描述:** -topic-主题, string/int类型, 所需要订阅的topic -handler-处理函数, func函数类型, 处理函数, 当有对应topic过来时, 会对应调用其中的处理函数去处理 handler 需要有两个参数(topic, msg) +`topic`-主题, string/int类型, 所需要订阅的topic +`handler`-处理函数, func函数类型, 处理函数, 当有对应topic过来时, 会对应调用其中的处理函数去处理 handler 需要有两个参数(topic, msg) @@ -31,10 +31,10 @@ sys_bus.publish(topic , msg) 发布消息, 对应订阅的topic将收到并多线程对此消息处理 -**参数** +**参数描述:** -topic-主题, string/int类型, 所需要订阅的topic -msg-处理函数, 任意类型, 发布的数据 +`topic`-主题, string/int类型, 所需要订阅的topic +`msg`-处理函数, 任意类型, 发布的数据 @@ -50,10 +50,10 @@ sys_bus.sub_table(topic=None) 查看订阅注册表, 注册表中有所有topic和订阅的函数 -**参数** -topic-主题, string/int类型, 可以不传 传表示查看此topic的注册表 不传表示查看所有的topic的注册表 +**参数描述:** +`topic`-主题, string/int类型, 可以不传 传表示查看此topic的注册表 不传表示查看所有的topic的注册表 -**返回值** +**返回值描述:** dict / list类型的订阅函数列表或注册表 @@ -71,18 +71,18 @@ sys_bus.unsubscribe(topic , cb=None) -**参数** -topic-主题, string/int类型, 可以不传 传表示查看此topic的注册表 不传表示查看所有的topic的注册表 +**参数描述:** +`topic`-主题, string/int类型, 可以不传 传表示查看此topic的注册表 不传表示查看所有的topic的注册表 -cb-回调函数, func函数类型, 要删除的订阅函数, 不传则删除topic +`cb`-回调函数, func函数类型, 要删除的订阅函数, 不传则删除topic -**返回值** +**返回值描述:** True 删除成功, False删除失败 -**示例** +**示例**: ```python import sys_bus diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" index 54ea1ca0..ac74682c 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" @@ -4,7 +4,7 @@ -### ssl加密算法套件支持 +## ssl加密算法套件支持 diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" index 759bd876..dc81e556 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" @@ -14,9 +14,9 @@ ``` **参数**: -uri - str类型, websocket的连接地址, 一般以"ws://xxx/"或"wss://xxx/"形式存在 -headers - dict类型, 额外需要添加的headers, 用于除了标准连接头之外, 允许用户自己传额外的头部 -debug - bool类型, 默认False, 当为True的情况下, 会输出日志 +`uri` - str类型, websocket的连接地址, 一般以"ws://xxx/"或"wss://xxx/"形式存在 +`headers` - dict类型, 额外需要添加的headers, 用于除了标准连接头之外, 允许用户自己传额外的头部 +`debug` - bool类型, 默认False, 当为True的情况下, 会输出日志 @@ -28,8 +28,8 @@ debug - bool类型, 默认False, 当为True的情况下, 会输出日志 ws_client.send(msg) ``` -**参数** -msg - str类型, 需要发送的数据 +**参数描述:** +`msg` - str类型, 需要发送的数据 @@ -41,8 +41,8 @@ msg - str类型, 需要发送的数据 ws_client.recv() ``` -**返回值** -result - str类型, 返回的结果, 就是recv的结果, 当接受空值或None的时候, 为连接被关闭 +**返回值描述:** +`result `- str类型, 返回的结果, 就是recv的结果, 当接受空值或None的时候, 为连接被关闭 @@ -56,7 +56,7 @@ ws_client.close() -**使用示例** +**示例**: ```python from usr import uwebsocket -- Gitee