利用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之一个免费的实验室
Sep 14 Python
Python解惑之整数比较详解
Apr 24 Python
python+opencv轮廓检测代码解析
Jan 05 Python
详解Django 中是否使用时区的区别
Jun 14 Python
Python动态导入模块的方法实例分析
Jun 28 Python
pycharm安装和首次使用教程
Aug 27 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
Python用来做Web开发的优势有哪些
Aug 05 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 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
Windows下的PHP5.0详解
2006/11/18 PHP
PHP安全防范技巧分享
2011/11/03 PHP
php命名空间学习详解
2014/02/27 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
JavaScript高级程序设计
2006/12/29 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
python实现电子词典
2020/04/23 Python
粗略分析Python中的内存泄漏
2015/04/23 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
python实现的Iou与Giou代码
2020/01/18 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
如何理解委托
2012/01/06 面试题
销售业务实习自我鉴定
2013/09/23 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
中国梦演讲稿范文
2014/08/28 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS