开发者工具
在 QuickProject 中提供了一些方便调用的值和接口,以下是各项介绍。
用户设置
值 | 含义 |
---|---|
user_root: str | 用户根目录绝对路径 |
user_lang: str | 用户的默认语言,仅支持 6 个联合国官方语言 |
user_pip: str | 用户的 pip 管理器命令 |
using_gitee: bool | 使用 Gitee 提供的模板镜像(启用此选项的用户大概率为中国用户) |
获取方式:
python
from QuickProject import <xxx>
from QuickProject import <xxx>
基础工具
remove
删除文件或目录
python
def remove(path):
"""
删除文件或目录
:param path: 路径
:return:
"""
def remove(path):
"""
删除文件或目录
:param path: 路径
:return:
"""
external_exec
执行命令,类似os.system
,但更高级点。
python
def external_exec(
cmd: str,
without_output: bool = False,
without_stdout: bool = False,
without_stderr: bool = False,
__expose: bool = False,
__no_wait: bool = False,
):
"""
外部执行命令
:param cmd: 命令
:param without_output: 是否不输出
:param without_stdout: 是否不输出stdout
:param without_stderr: 是否不输出stderr
:param __expose: ⚠️是否暴露, 这意味着命令行输出可能会被截断和修改
:param __no_wait: ⚠️是否不等待, 这意味着需要手动获取返回值和输出
:return: status code, output | __no_wait 为 True 时返回进程对象
"""
def external_exec(
cmd: str,
without_output: bool = False,
without_stdout: bool = False,
without_stderr: bool = False,
__expose: bool = False,
__no_wait: bool = False,
):
"""
外部执行命令
:param cmd: 命令
:param without_output: 是否不输出
:param without_stdout: 是否不输出stdout
:param without_stderr: 是否不输出stderr
:param __expose: ⚠️是否暴露, 这意味着命令行输出可能会被截断和修改
:param __no_wait: ⚠️是否不等待, 这意味着需要手动获取返回值和输出
:return: status code, output | __no_wait 为 True 时返回进程对象
"""
requirePackage
获取本机上的 python 第三方库
python
def requirePackage(
pname: str,
module: str = "",
real_name: str = "",
not_exit: bool = True,
not_ask: bool = False,
set_pip: str = user_pip,
):
"""
获取本机上的python第三方库
:param pname: 库名
:param module: 待引入的模块名,可缺省
:param real_name: 用于 pip3 install 的名字
:param not_exit: 安装后不退出
:param not_ask: 不询问是否安装
:param set_pip: 指定pip
:return: 库或模块的地址
"""
def requirePackage(
pname: str,
module: str = "",
real_name: str = "",
not_exit: bool = True,
not_ask: bool = False,
set_pip: str = user_pip,
):
"""
获取本机上的python第三方库
:param pname: 库名
:param module: 待引入的模块名,可缺省
:param real_name: 用于 pip3 install 的名字
:param not_exit: 安装后不退出
:param not_ask: 不询问是否安装
:param set_pip: 指定pip
:return: 库或模块的地址
"""
:::caution 在 Commander 模板中会默认植入此接口,请不要调用 QuickProject 包中的此接口,以免在相对引用时发生意外; :::
SshProtocol
这是一个 SSH 的通信类,将可能用到的 SSH 通信接口都实现了,比如发送、接收文件;远程执行命令;直接登录到指定位置等等。在现代 IDE 中引用时,会获取功能提示。
_ask
在命令行中向用户询问,支持多种输入格式,具体样例可以参考:https://github.com/CITGuru/PyInquirer ,但与样例库不同的是:
- _ask 仅支持单个问题,因此
name
字段是可缺省的。 - _ask 支持设置超时时间,一旦超时则返回默认值。
python
_ask({
"type": "confirm",
"message": "是否确认"
})
_ask({
"type": "input",
"message": "输入配送地址"
})
_ask({
"type": "input",
"message": "输入配送地址"
"default": "家里蹲大学"
}, 10) # 10秒不操作则默认返回 "家里蹲大学"
_ask({
"type": "list",
"message": "选择区域",
"choices": ['北京', '上海', ...]
})
_ask({
"type": "confirm",
"message": "是否确认"
})
_ask({
"type": "input",
"message": "输入配送地址"
})
_ask({
"type": "input",
"message": "输入配送地址"
"default": "家里蹲大学"
}, 10) # 10秒不操作则默认返回 "家里蹲大学"
_ask({
"type": "list",
"message": "选择区域",
"choices": ['北京', '上海', ...]
})
进阶工具
QuickStart_Rhy 提供了丰富的已实现的工具,包括基础、系统、网络、API、音视频以及图像处理等,此库的文档有待完善。