利用Python实现Picgo图床工具

 更新时间:2021年11月23日 09:36:24   作者:L-L  
这篇文章主要介绍了如何利用Python实现Picgo图床工具,PyPicGo 是一款图床工具,是PicGo是Python版实现,并支持各种插件自定义插件,目前PyPicGo自带了gitee、github、SM.MS和七牛云图传,以及rename、notify和typora等插件,下面来看文章内容介绍,需要的朋友可以参考一下

一、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 3实现发送邮件功能

    使用python 3实现发送邮件功能

    本文通过实例代码给大家介绍了使用python 3实现发送邮件功能,代码简单易懂非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • LyScript实现指令查询功能的示例代码

    LyScript实现指令查询功能的示例代码

    对LyScript自动化插件进行二次封装,可以实现从内存中读入目标进程解码后的机器码。所以本文为大家介绍了如何实现LyScript指令查询功能,需要的可以参考一下
    2022-09-09
  • 如何用Python进行回归分析与相关分析

    如何用Python进行回归分析与相关分析

    这篇文章主要介绍了如何用Python进行回归分析与相关分析,这两部分内容会放在一起讲解,文中提供了解决思路以及部分实现代码,需要的朋友可以参考下
    2023-03-03
  • 如何通过一篇文章了解Python中的生成器

    如何通过一篇文章了解Python中的生成器

    生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象,下面这篇文章主要给大家介绍了关于Python中生成器的相关资料,需要的朋友可以参考下
    2022-04-04
  • Python数学建模PuLP库线性规划入门示例详解

    Python数学建模PuLP库线性规划入门示例详解

    这篇文章主要为大家介绍了Python数学建模PuLP库线性规划入门示例详解,想学习关于Python建模的同学可以学习参考下,希望能够有所帮助
    2021-10-10
  • Python3使用xlrd、xlwt处理Excel方法数据

    Python3使用xlrd、xlwt处理Excel方法数据

    这篇文章主要介绍了Python3使用xlrd、xlwt处理Excel方法数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Python KeyError异常的原因及问题解决

    Python KeyError异常的原因及问题解决

    KeyError是Python内置异常之一,KeyError是当试图获取字典中不存在的键时,引发的异常,本文就来介绍一下KeyError异常的原因及问题解决,感兴趣的可以了解一下
    2024-12-12
  • Pandas排序和分组排名(sort和rank)的实现

    Pandas排序和分组排名(sort和rank)的实现

    Pandas是Python中广泛使用的数据处理库,提供了丰富的功能来处理和分析数据,本文主要介绍了Pandas排序和分组排名(sort和rank)的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • Python实现将Excel内容批量导出为PDF文件

    Python实现将Excel内容批量导出为PDF文件

    这篇文章主要为大家介绍了如何利用Python实现将Excel表格内容批量导出为PDF文件,文中的实现步骤讲解详细,感兴趣的小伙伴可以了解一下
    2022-04-04
  • 浅谈Scrapy网络爬虫框架的工作原理和数据采集

    浅谈Scrapy网络爬虫框架的工作原理和数据采集

    在python爬虫中:requests + selenium 可以解决目前90%的爬虫需求,难道scrapy 是解决剩下的10%的吗?显然不是。scrapy框架是为了让我们的爬虫更强大、更高效。接下来我们一起学习一下它吧。
    2019-02-02

最新评论