English Document | 中文文档

安装

1
pip3 install quickstart-rhy [--upgrade]

qs的配置表:.qsrc

  • 自qs 0.3.0版本起,当您初次安装QuickStart_Rhy并通过命令运行qs时,qs将在如下位置生成qs的配置表.qsrc
系统 位置
Windows C:\Users\你的用户名\.qsrc
*nix /Users/你的用户名/.qsrc
  • .qsrc是以json格式存储的配置表,当它初次被生成时,内容为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* 文档中的注释内容在文件中不存在 */
{
"basic_settings": {
"default_language": "zh", /* !默认语言,zh表示中文,en为英文 */
"default_translate_engine": { /* !默认语言引擎,请勿修改support */
"index": 0,
"support": ["default", "TencentCloud"]
},
"default_proxy": "用户名:密码@ip:端口 或 ip:端口" /* 设置下载代理,启用`-px`时通过代理下载 */
},
"API_settings": { /* 填入你需要用的API KEY */
"rmbg": "GET: https://www.remove.bg",
"smms": "GET: https://sm.ms",
"darksky": "GET: https://darksky.net/",
"aliyun_oss_acid": "GET: https://www.aliyun.com/product/oss",
"aliyun_oss_ackey": "GET: https://www.aliyun.com/product/oss",
"aliyun_oss_bucket_url": "GET: https://www.aliyun.com/product/oss",
"aliyun_oss_df_bucket": "GET: https://www.aliyun.com/product/oss",
"txyun_scid": "GET: https://console.cloud.tencent.com/",
"txyun_sckey": "GET: https://console.cloud.tencent.com/",
"txyun_cos_df_bucket": "GET: https://console.cloud.tencent.com/",
"txyun_df_region": "GET: ap-[location]",
"qiniu_ac_key": "GET: http://qiniu.com/",
"qiniu_sc_key": "GET: http://qiniu.com/",
"qiniu_bk_name": "GET: [Qiniu Bucket Name]",
"gitee": "GET: http://gitee.com/",
"ipinfo": "GET: https://ipinfo.io/",
"AipImageAPP_ID": "GET: https://cloud.baidu.com/product/imageprocess",
"AipImageAPP_KEY": "GET: https://cloud.baidu.com/product/imageprocess",
"AipImageSECRET_KEY": "GET: https://cloud.baidu.com/product/imageprocess",
"AipNlpAPP_ID" : "GET: https://cloud.baidu.com/product/nlp_apply",
"AipNlpAPP_KEY": "GET: https://cloud.baidu.com/product/nlp_apply",
"AipNlpSECRET_KEY": "GET: https://cloud.baidu.com/product/nlp_apply",
"seafile_communicate_path": "GET: /Path/to/file",
"alapi_token": "GET: https://www.alapi.net/"
}
}
  • 关于默认语言:
标志 语言 标志 语言 标志 语言
zh 🇨🇳 en 🇬🇧 jp 🇯🇵
kor 🇰🇷 fra 🇫🇷 spa 🇪🇸
th 🇹🇭 ara 阿拉伯 ru 🇷🇺
pt 🇵🇹 de 🇩🇪 it 🇮🇹
el 🇬🇷 nl 🇵🇱 bul 🇧🇬
est 🇪🇪 dan 🇩🇰 fin 🇫🇮
cs 🇨🇿 rom 🇷🇴 slo 🇸🇮
swe 🇸🇪 hu 🇭🇺 vie 🇻🇳
  • 关于API,某些API需要依赖官方提供的Python第三方库,但并不是每位用户都会用到它们,为了保持qs安装时的轻松畅快,qs在安装时不会将这些Python第三方库作为依赖项预先安装。因此,如果你需要使用相关的API,请在下方的API对照表中选择安装。
  • *特殊说明:qs的某些方便功能高度依赖alapi.net,因此你可以考虑注册成为alapi的免费用户以获得更好的使用体验。

使用

命令 含义 类别
qs -u url 使用默认浏览器打开多个链接 基础
qs -a app [files] 打开应用或使用应用打开文件(仅支持Mac OS) 基础
qs -f file 使用合适的应用打开文件 基础
qs -cal exp 计算算术表达式 基础
qs -time 查看当前时间 基础
qs -top CPU和内存监控器 系统
qs -clear 释放本机内存 系统
qs -mktar path ... 使用多个文件或文件夹创建tar压缩包 系统
qs -untar path ... 解压各种格式的tar包 系统
qs -mkzip path ... 使用多个文件或文件夹创建zip压缩包 系统
qs -unzip path ... 解压zip压缩包 系统
qs -unrar path ... 解压rar压缩包 系统
qs -http [ip:port] [-bind url] 在当前路径下开启简单的多线程http服务 网络
qs -netinfo [url ...] 获取命令参数或剪切板中链接或ip的信息 网络
qs -wifi 扫描附近WiFi并选择连接 网络
qs -dl [urls] [--help] 从命令参数或剪切板中链接下载文件 (qs下载策略) 网络
qs -upload 上传你的pypi仓库 网络
qs -upgrade 更新qs 网络
qs -trans [words] 翻译命令参数或剪切板中的内容 API
qs -rmbg picture 移除图片背景 API
qs -smms picture/*.md 将图片或Markdown中图片上传至sm.ms API
qs -upimg -help 将图片或Markdown中图片上传至多平台(暂无需token) API
qs -alioss -help 获取阿里云对象存储的使用帮助 API
qs -txcos -help 获取腾讯云对象存储的使用帮助 API
qs -qiniu -help 获取七牛云对象存储的使用帮助 API
qs -weather [address] 获取当地天气(或指定地址天气) API
qs -LG image 通过百度图像效果增强放大图片 API
qs -nlp [words] 通过百度NLP对words或剪切板内容纠错 API
qs -sea get/post [msg] 通过Seafile获取或传递内容 API
qs -pasteme get/post [password/content] 通过pasteme.cn获取或传递内容 API
qs -bcv [url/video code] 获取B站视频、直播封面图片 API
qs -gbc garbage... 中国垃圾分类查询 (仅支持中文) API
qs -svi url 获取命令参数或剪切板内短视频分享链接的信息 API
qs -svd url 通过命令参数或剪切板内短视频分享链接下载视频 API
qs -stbg picture to [from] 替换图片颜色(from默认为透明) 图像
qs -v2gif video [sz] [fps] 将视频导出为gif 图像
qs -v2mp4 video 将视频导出为mp4 图像
qs -rmaudio video 删除视频的音频(仅返回mp4文件) 图像

(顺便说一下,如果你是中国石油大学(北京)的学生,可以运行qs -i登录学校网)

新功能: bcv, gbc, svi/svd!

bcv:BiliBili视频背景

Use Result
  • 下载Bilibili视频图像,支持视频网址比如https://www.bilibili.com/video/BV1J4y197Ht视频号比如BV1J4y197Ht

gbc:垃圾分类

  • 垃圾分类查询~(仅支持中文搜索)

svi/svd

  • svd: 解析短视频的分享链接,输出视频与封面的直链地址并下载为mp4(采用qs内置下载引擎,生成mp4依赖moviepy库,需自行安装)
  • svi: 仅解析短视频链接,输出视频相关信息,不做下载。

好消息!

  • 您可以在app uTools上搜索这个项目的文档!

API

  • QuickStart-Rhy提供一些流行的在线平台的api,所以你可以用qs做令人惊奇的事情!
  • 您需要亲自到适当的网站注册,并填写所需的API密钥,以确保正确调用qs
  • 编辑的~ /.qsrc来设置你的API!

支持的 API

API 官网 Pypi库 键值
remove bg link None “rmbg”
smms link None “smms”

Aliyun OSS

link

oss2
“aliyun_oss_acid”
“aliyun_oss_ackey”
“aliyun_oss_df_bucket”
“aliyun_oss_bucket_url”

Qiniu OSS

link

qiniu
“qiniu_ac_key”
“qiniu_sc_key”
“qiniu_bk_name”

Tencent COS

link

cos-python-sdk-v5
“txyun_scid”
“txyun_sckey”
“txyun_df_region”
“txyun_cos_df_bucket”
IPinfo link ipinfo “ipinfo”
Baidu Image
Process

link

aip
“AipImageAPP_ID”
“AipImageAPP_KEY”
“AipImageSECRET_KEY”

Baidu NLP

link

aip
“AipNlpAPP_ID”
“AipNlpAPP_KEY”
“AipNlpSECRET_KEY”
Tencent translate link tencentcloud-sdk-python “txyun_scid”
“txyun_sckey”
“txyun_df_region”
alapi link None “alapi_token”

API 用法

rmbg

Raw Processed

smms

  • 上传图片:
1
2
3
4
5
6
➜ Desktop $ qs -smms IMG_4758.jpeg  
+---------------+--------+---------------------------+
| File | Status | url |
+---------------+--------+---------------------------+
| IMG_4758.jpeg | True | https://*.loli.net/*t.jpg |
+---------------+--------+---------------------------+
  • 将markdown文件中图像上传,并将图像路径替换为url。
1
2
3
4
5
6
7
8
➜ Desktop $ qs -smms test.md  
+---------------+--------+---------------------------+
| File | Status | url |
+---------------+--------+---------------------------+
| 1.jpg | True | https://*.loli.net/1.jpg |
| 2.jpg | True | https://*.loli.net/2.jpg |
| 3.jpg | True | https://*.loli.net/3.jpg |
+---------------+--------+---------------------------+

Aliyun OSS

命令 功能
qs -alioss -up file [bucket] 上传文件到桶/默认桶
qs -alioss -rm file [bucket] 删除桶中的文件
qs -alioss -dl file [bucket] 从桶中下载文件
qs -alioss -ls [bucket] 获取桶中的文件信息
样例
1
2
3
4
5
6
7
8
Bucket Url: https://***.aliyuncs.com/
+--------------------------------+------------+
| File | Size |
+--------------------------------+------------+
| 单片机原理及应用教程第3版.pdf | 25.156 MB |
| 计算机网络(第7版)-谢希仁.pdf | 70.780 MB |
| 软件工程导论.pdf | 100.819 MB |
+--------------------------------+------------+

Qiniu OSS

命令 功能
qs -qiniu -up file [bucket] 上传文件到桶/默认桶
qs -qiniu -rm file [bucket] 删除桶中的文件
qs -qiniu -cp url [bucket] 从url拷贝文件到桶中
qs -qiniu -dl file [bucket] 从桶中下载文件
qs -qiniu -ls [bucket] 获取桶中的文件信息
样例
1
2
3
4
5
6
7
8
9
10
11
12
13
➜ hexo $ qs -qiniu -ls
Bucket url: http://***.bkt.clouddn.com/
+----------------------------+------------+
| File | Size |
+----------------------------+------------+
| 591918ca03491.jpg | 522.393 KB |
| BaiduExporter.zip | 64.810 KB |
| BitBar.zip | 6.361 MB |
| cover.png | 342.704 KB |
| ev-cover.png | 483.959 KB |
| google-access-helper-2.zip | 111.958 KB |
| weather.15m.py | 13.386 KB |
+----------------------------+------------+

Tencent COS

命令 功能
qs -txcos -up file [bucket] 上传文件到桶/默认桶
qs -txcos -rm file [bucket] 删除桶中的文件
qs -txcos -dl file [bucket] 从桶中下载文件
qs -txcos -ls [bucket] 获取桶中的文件信息
样例
1
2
3
4
5
6
7
8
9
10
11
12
13
➜ hexo $ qs -txcos -ls
Bucket url: http://***.myqcloud.com/
+----------------------------+------------+
| File | Size |
+----------------------------+------------+
| 1.jpg | 522.393 KB |
| BaiduExporter.zip | 64.810 KB |
| BitBar.zip | 6.361 MB |
| ev-cover.png | 483.959 KB |
| gd-cover.png | 342.704 KB |
| google-access-helper-2.zip | 111.958 KB |
| weather.15m.py | 13.386 KB |
+----------------------------+------------+

ipinfo

  • 只提供一个函数:QuickStart_Rhy.api.ipinfo(ip:str=None),它将返回一个包含ip信息的dict。
样例
1
2
3
>>> from QuickStart_Rhy.api import ipinfo
>>> ipinfo('114.114.114.114')
{'ip': '114.114.114.114', 'hostname': 'public1.114dns.com', 'city': 'Beijing', 'region': 'Beijing', 'country': 'CN', 'loc': '39.9075,116.3972', 'org': 'AS174 Cogent Communications', 'timezone': 'Asia/Shanghai', 'country_name': 'China', 'latitude': '39.9075', 'longitude': '116.3972'}

Tencent Translate

  • 在经历了几种不稳定的翻译API后,我决定使用腾讯云机翻译作为qs的翻译引擎之一,所以如果你想使用翻译服务,你需要安装一些库,将你的账号信息设置在~/.qsrc
样例
1
2
$ qs -trans Looking in indexes
查找索引

netinfo

demo

  • 如图所示,您可以通过使用网址、ip地址或me(关键字)来获取ip信息!

upimg

  • upimg有与smms相同的功能,但upimg不需要API键。
    它支持多平台上传你的图片,但我不保证它是安全的上传图片到任何平台。

开发者工具

不满足于只在命令行上使用qs? qs现在提供了实用的工具来帮助您更快地开发Python应用程序!

ImageTools

  • ColorTools.py:

    • QuickStart_Rhy.ImageTools.ColorTools.get_color_from_str(str_color): get (R, G, B, A=255) from str_color

      样例:

call return
get_color_from_str('0,0,0,0') (0, 0, 0, 0)
get_color_from_str('0,0,0') (0, 0, 0, 255)
get_color_from_str('FFFFFF') (255, 255, 255, 255)
  • QuickStart_Rhy.ImageTools.ColorTools.transport_back(src: str, to_color, from_color=(0, 0, 0, 0)): 将图片 Image.open(src)中颜色 from_color 替换为 to_color

    样例:

call return
transport_back('test.jpg', (0, 0, 0, 255)) Replace the transparent color with white

NetTools

  • QuickStart_Rhy.NetTools.check_one_page(url): 确定url是否可访问。

  • QuickStart_Rhy.NetTools.formatUrl(try_url): 尝试添加https://或http://以使`try_url`可以访问(不能保证返回值可以访问)

  • QuickStart_Rhy.NetTools.get_ip(): 获取局域网下当前机器的IP

  • QuickStart_Rhy.NetTools.size_format(sz, align=False): 格式化文件大小1000000 -> 1.000 MB(如果不对齐,则为1.000 MB)

  • QuickStart_Rhy.NetTools.get_ip_info(): 返回字典

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    {
    'status': 'success',
    'country': 'China',
    'countryCode': 'CN',
    'region': 'Province name abbreviations',
    'regionName': 'Province name',
    'city': 'City',
    'zip': '',
    'lat': latitude,
    'lon': longitude,
    'timezone': 'Asia/Shanghai',
    'isp': 'Network operator',
    'org': 'Network operator + location',
    'as': 'AS4134 Chinanet',
    'query': 'Your public IP'
    }
  • QuickStart_Rhy.NetTools.get_fileinfo(url): 返回可下载的链接, 文件名和头部信息.

ThreadTools

  • QuickStart_Rhy.ThreadTools.ThreadFunctionWrapper(threading.Thread): 打开一个新线程来运行函数。

    • __init__(self, function, *args, **kwargs)
    • run(self): 开始运行
    • get_res(self): 获取运行结果
  • QuickStart_Rhy.ThreadTools.FileWriters: 写文件线程池

    • __init__(self, filename, workers, mode): 模式样例: r+, w, rb+, wb
    • wait(self): 等待线程池所有线程工作完毕
    • new_job(self, content, index): 加入新的任务

    文件必须已经创建并预先分配了足够的空间

TuiTools

  • QuickStart_Rhy.TuiTools.get_console_width(): 顾名思义,获取控制台宽度
  • QuickStart_Rhy.TuiTools.Bar.RollBar:支持在命令行上滚动条形图,您可以运行qs -top来查看效果。
  • QuickStart_Rhy.TuiTools.Line.Line: 在命令行上支持折线图,您可以运行qs -weather来查看效果。

Wrappers

  • QuickStart_Rhy.Wrapper.set_timeout(num): 函数包装器使函数在指定的时间num内结束。

    • 样例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    from QuickStart_Rhy.Wrapper import set_timeout
    import time

    @set_timeout(2)
    def fuck(who):
    time.sleep(3)
    return 'fuck {}'.format(who)
    # 返回 False

    @set_timeout(2)
    def fuck(who):
    return 'fuck {}'.format(who)
    # 返回 'fuck {}'.format(who)