复制粘贴以下代码

#!/usr/bin/env python3

# -*- encoding: utf-8 -*-

# author: guiu

# data: 2020.2.28

import requests

import json

import mimetypes

import argparse

import sys

APP_DESC = """

一个上传图片到chevereto图床的命令行工具

"""

print(APP_DESC)

if len(sys.argv) == 1:

sys.argv.append('--help')

parser = argparse.ArgumentParser()

parser.add_argument('-s', '--source', type=str, nargs='+', help="", required=True)

parser.add_argument('-c', '--config', default="./config.json", help="读取配置文件", required=True)

args = parser.parse_args()

# 从参数中获取要上传的文件列表

img_list = args.source

# print(img_list)

def read_conf(path):

with open(path,"r",encoding="utf-8") as f:

confstr = f.read()

conf = json.loads(confstr)

return conf

def up_to_chevereto(img_list):

# 获得本地图片路径后,上传至图床并记录返回的json字段

for img in img_list:

# 先判断传过来的是本地路径还是远程图片地址

if "http" == img[:4]:

# 非本地图片的话可以考虑下载到本地再上传,但是没这个必要

print(img)

continue

else:

try:

res_json = upload(formatSource(img))

parse_response_url(res_json,img)

except:

print(img+"\t上传失败")

def upload(files):

# 图床api

# APIKey = "THERE PUT YOUR APIKEY"

conf = read_conf(args.config)

url = conf['url'] + "?key=" + conf['APIKEY']

r = requests.post(url, files=files)

return json.loads(r.text)

def formatSource(filename):

imageList = []

mime_type = mimetypes.guess_type(filename)[0]

imageList.append(

('source', (filename, open(filename, 'rb'), mime_type))

)

#print (imageList)

return imageList

def parse_response_url(json, img_path):

# 从返回的json中解析字段

if json['status_code'] != 200:

print("{}\tweb端返回失败,可能是APIKey不对. status_code {} .".format(

img_path, json['status_code'])

)

else:

img_url = json["image"]["url"]

print(img_url)

up_to_chevereto(img_list)

python实现自动上传图片_利用python脚本实现使用typora编写markdown时图片自动上传到chevereto图床...相关推荐

  1. 利用python脚本实现使用typora时图片自动上传到chevereto图床

    欢迎关注原创视频教程 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.c ...

  2. python post请求 上传图片_利用python模拟实现POST请求提交图片的方法

    本文主要给大家介绍的是关于利用python模拟实现POST请求提交图片的方法,分享出来供大家参考学习,下面来一看看详细的介绍: 使用requests来模拟HTTP请求本来是一件非常轻松的事情,比如上传 ...

  3. python如何自动打印_利用Python每天自动打印练习题

    在日常教学工作中,我几乎每天都会给班上的每位同学打印一份口算练习题.为了防止出现抄袭的现象,给每位同学的练习题都不相同. 通过网上下载的一个小软件自动生成的练习题. 之前的操作是通过网上下载的软件,自 ...

  4. python京东自动签到_利用python Selenium实现自动登陆京东签到领金币功能

    如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...

  5. python RTL自动生成_利用python自动生成证件照

    又到了一次交个人信息表的时候了,在word照片框贴照片时发现自己之前放在e盘的电子照片不见了,我丢.之前去照相馆就只留了一张底片,疫情当前(打游戏懒得出门),作为时代好青年,出门拍照是不可能的,为一张 ...

  6. python修改桌面壁纸_利用Python对windows桌面自动更换壁纸

    根据时间星期几判断用哪张壁纸 # !/usr/bin/env python3 # -*- coding:utf-8 -*- import requests # import pywintypes im ...

  7. python处理行情数据_利用Python脚本来获取期货行情数据

    因为自己最近在学习做期货交易,想要下载期货的行情数据来做分析.有一些交易软件是可以导出数据的,但是导出的过程还是需要很多的手工操作,自己在想能不能通过Python程序来实现呢. 新浪期货数据接口介绍 ...

  8. python做excel宏_利用Python 开发 Excel 宏脚本的神器!

    今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python. 基本环境 操作系统:Windows 10 x64 ...

  9. python实现邮件客户端_利用python实现简单的邮件发送客户端示例

    脚本过于简单,供学习和参考.主要了解一下smtplib库的使用和超时机制的实现.使用signal.alarm实现超时机制. #!/usr/bin/env python # -*- coding: ut ...

最新文章

  1. 以太坊Geth几种同步模式
  2. Python最会变魔术的魔术方法,我觉得是它
  3. 数字图像处理---有关特征提取的相关概念
  4. MS SQL数据库日志压缩方法[转]
  5. vc6.0 radio控件多个分组
  6. java 使用适当的签名_java11教程--类SignatureSpi用法
  7. 64位x86的函数调用栈布局
  8. 文件比较与同步工具——FreeFileSync
  9. python实现取出一个列表或者多个列表中的公共前缀
  10. pandas将数组写入csv新增一列
  11. http协议 https协议
  12. Fiddler2 抓包工具,让你的信息无处可藏
  13. 阿里玄难:面向不确定性的软件设计几点思考
  14. 深度学习策略之图像预处理
  15. 如何确立人生目标?100个人生目标清单总汇
  16. 【自动驾驶】高级辅助驾驶系统与车联网
  17. SystemUI Q 移植到android studio开发
  18. LQ0116 方格计数【数学计算】
  19. 南京理工大学计算机学院张勇,2015年南京理工大学研究生数模竞赛获奖名单
  20. 面向对象的软件开发 (转)

热门文章

  1. 计算机电脑水晶字制作图片,电脑技巧收藏家photoshop技巧Photoshop教程:制作透明水晶字(3)...
  2. 对开环系统与闭环系统的初步理解
  3. ROS从入门到精通0-1:教程导读
  4. 商业客流统计系统商场实际应用功能
  5. 英语基本句型之简单句
  6. 工字型钢弹性截面模量计算公式_工字钢的公式
  7. 我觉得那台计算机使用便利英语翻译,我正准备使用计算机 的翻译是:I was going to use the computer 中文翻译英文意思,翻译英语...
  8. 爬虫小例--爬药监局(上)
  9. 程序员为了女朋you进了华为,同学去了阿里,2年后对比收入懵了
  10. Imagenet 数据集迅雷下载种子