利用Python实现Picgo图床工具


Posted in Python onNovember 23, 2021

一、PyPicGo

PyPicGo 是一款图床工具,是PicGo是Python版实现,并支持各种插件自定义插件,目前PyPicGo自带了gitee、github、SM.MS和七牛云图传,以及rename、notify和typora等插件,并支持从pypi中下载其他插件和Uploader

源码地址:

【gitee】https://gitee.com/Ranger313/pypicgo

【github】https://github.com/AnsGoo/PyPicGo

1、安装

pip install pypicgo

2、配置

配置文件位于/$HOME/.PyPicGo/config.yml目录下,采用YAML的方式进行配置。必须配置上传器uploader,插件plugins的数量可选

default: # 默认配置

  uploader: gitee # 默认图床

  plugins: # 全局插件

    - module: pypicgo.plugins.rename.ReNamePlugin # 图床插件加载地址

      config:

        format: liunx{hash}chenghaiwen{date}-{filename}

    - module: pypicgo.plugins.typora.TyporaPlugin

    - module: pypicgo.plugins.compress.CompressPlugin

    - module: pypicgo.plugins.notify.NotifyPlugin

uploaders: # 可用图床

  smms: # sm.ms图床配置

    module: pypicgo.uploaders.smms.uploader.SmmsUploader

    config:

      secret_token:  xxx

  gitee: # gitee 图床配置

    module: pypicgo.uploaders.gitee.uploader.GiteeUploader

    config:

      domain: https://gitee.com

      owner: xxx

      repo: xxx

      img_path: xxx

      access_token: xxx

    plugins:

  github: # github图床配置

    module: pypicgo.uploaders.github.uploader.GithubUploader

    config:

      domain: https://api.github.com

      owner: xxx

      repo: xxx

      img_path: xxx

      oauth_token: xxx

    plugins: # github 图床私有插件

      - module: pypicgo.plugins.jsdelivr.JsDelivrPlugin 

  qiniu: #七牛云图床配置

      moduele: pypicgo.uploaders.qiniu.uploader.QiNiuUploader

      config:

        domain: http://demo.pypicho.com/

        bucket_name: pypicgo

        apis:

        - http://up-z1.qiniup.com

        access_key: xxx

        secret_key:  xxxx

更多的配置说明参考文档

3、使用

帮助信息

pypicgo -h

上传文件

pypicgo -f picture1 picture2 ...

指定上传图床

pypicgo -n github -f picture1 picture2 ...

如果系统找不到pypicgo,请检查pythonScripts文件夹是否被加入Path环境变量

4、支持的图床

图床名 模块地址
gitee pypicgo.uploaders.gitee.uploader.GiteeUploader
七牛云 pypicgo.uploaders.github.uploader.QiNiuUploader
github pypicgo.uploaders.qiniu.uploader.GithubUploader
SM.MS pypicgo.uploaders.smms.uploader.SmmsUploader

5、支持的插件

插件名称 用途 windows linux mac
rename 上传前重命名图片 支持 支持 支持
notify 上传成功失败的系统通知 支持 支持 支持
typora typora编辑器支持 支持 支持 支持
compress 图片上传前压缩 支持 支持 支持
jsdelivr github CDN 加速 支持 支持 支持
clipboard 上传完成将远程地址复制到剪切板 支持 支持 支持

6、Uploader上传器

uploader是具体的上传插件,用户需要继承pypicgo.core.base.uploader.CommonUploader并实现upload方法,然后在配置文件中引用即可.

7、插件系统

PyPicgo支持的插件分为三种beforeafterfinal

插件类型 运行时间 基类类 示例插件 运行时入参
before 在图片上传前运行 pypicgo.core.base.plugin.BeforePlugin rename File
after 在图片上传后运行 pypicgo.core.base.plugin.AfterPlugin notify Result
final 在所有图片上传后运行 pypicgo.core.base.plugin.FinallyPlugin typora List[Result]

如果想自定义插件只要根据要求继承任意一个基类插件,并实现execute方法,并在config.yml中配置即可使用.

8、开发

git clone git@github.com:AnsGoo/PyPicGo.git

cd pypicgo

pipenv shell

pipenv install

python run.py -n 图床名 -f img1.jpg img2.jpg

到此这篇关于 利用Python实现Picgo图床工具的文章就介绍到这了,更多相关Python实现Picgo图床工具内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python基础教程之缩进介绍
Aug 29 Python
将Python中的数据存储到系统本地的简单方法
Apr 11 Python
python实现批量下载新浪博客的方法
Jun 15 Python
python去除文件中空格、Tab及回车的方法
Apr 12 Python
python+matplotlib实现礼盒柱状图实例代码
Jan 16 Python
使用Django和Python创建Json response的方法
Mar 26 Python
使用sklearn的cross_val_score进行交叉验证实例
Feb 28 Python
python实现最速下降法
Mar 24 Python
python语言的优势是什么
Jun 17 Python
Python批量获取并保存手机号归属地和运营商的示例
Oct 09 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
Dec 07 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 Python
python turtle绘图命令及案例
python机器学习Github已达8.9Kstars模型解释器LIME
如何在python中实现ECDSA你知道吗
Python jiaba库的使用详解
Nov 23 #Python
python 中的jieba分词库
Nov 23 #Python
python周期任务调度工具Schedule使用详解
Nov 23 #Python
python百行代码实现汉服圈图片爬取
You might like
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
php加密解密实用类分享
2014/01/07 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
Python类的专用方法实例分析
2015/01/09 Python
详解Python中的各种函数的使用
2015/05/24 Python
关于Django外键赋值问题详解
2017/08/13 Python
python和shell获取文本内容的方法
2018/06/05 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
全球性的女装店:storets
2019/06/12 全球购物
实习自我鉴定范文
2013/10/30 职场文书
优秀员工自荐书
2013/12/19 职场文书
质检部经理岗位职责
2014/02/19 职场文书
保安岗位职责
2014/02/21 职场文书
普通党员对照检查材料
2014/08/28 职场文书
信仰心得体会
2014/09/05 职场文书
上班迟到检讨书
2014/09/15 职场文书
酒会邀请函
2015/01/31 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
python如何正确使用yield
2021/05/21 Python
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫