python实现自动上传图片_利用python脚本实现使用typora编写markdown时图片自动上传到chevereto图床...
复制粘贴以下代码
#!/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图床...相关推荐
- 利用python脚本实现使用typora时图片自动上传到chevereto图床
欢迎关注原创视频教程 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.c ...
- python post请求 上传图片_利用python模拟实现POST请求提交图片的方法
本文主要给大家介绍的是关于利用python模拟实现POST请求提交图片的方法,分享出来供大家参考学习,下面来一看看详细的介绍: 使用requests来模拟HTTP请求本来是一件非常轻松的事情,比如上传 ...
- python如何自动打印_利用Python每天自动打印练习题
在日常教学工作中,我几乎每天都会给班上的每位同学打印一份口算练习题.为了防止出现抄袭的现象,给每位同学的练习题都不相同. 通过网上下载的一个小软件自动生成的练习题. 之前的操作是通过网上下载的软件,自 ...
- python京东自动签到_利用python Selenium实现自动登陆京东签到领金币功能
如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...
- python RTL自动生成_利用python自动生成证件照
又到了一次交个人信息表的时候了,在word照片框贴照片时发现自己之前放在e盘的电子照片不见了,我丢.之前去照相馆就只留了一张底片,疫情当前(打游戏懒得出门),作为时代好青年,出门拍照是不可能的,为一张 ...
- python修改桌面壁纸_利用Python对windows桌面自动更换壁纸
根据时间星期几判断用哪张壁纸 # !/usr/bin/env python3 # -*- coding:utf-8 -*- import requests # import pywintypes im ...
- python处理行情数据_利用Python脚本来获取期货行情数据
因为自己最近在学习做期货交易,想要下载期货的行情数据来做分析.有一些交易软件是可以导出数据的,但是导出的过程还是需要很多的手工操作,自己在想能不能通过Python程序来实现呢. 新浪期货数据接口介绍 ...
- python做excel宏_利用Python 开发 Excel 宏脚本的神器!
今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python. 基本环境 操作系统:Windows 10 x64 ...
- python实现邮件客户端_利用python实现简单的邮件发送客户端示例
脚本过于简单,供学习和参考.主要了解一下smtplib库的使用和超时机制的实现.使用signal.alarm实现超时机制. #!/usr/bin/env python # -*- coding: ut ...
最新文章
- 以太坊Geth几种同步模式
- Python最会变魔术的魔术方法,我觉得是它
- 数字图像处理---有关特征提取的相关概念
- MS SQL数据库日志压缩方法[转]
- vc6.0 radio控件多个分组
- java 使用适当的签名_java11教程--类SignatureSpi用法
- 64位x86的函数调用栈布局
- 文件比较与同步工具——FreeFileSync
- python实现取出一个列表或者多个列表中的公共前缀
- pandas将数组写入csv新增一列
- http协议 https协议
- Fiddler2 抓包工具,让你的信息无处可藏
- 阿里玄难:面向不确定性的软件设计几点思考
- 深度学习策略之图像预处理
- 如何确立人生目标?100个人生目标清单总汇
- 【自动驾驶】高级辅助驾驶系统与车联网
- SystemUI Q 移植到android studio开发
- LQ0116 方格计数【数学计算】
- 南京理工大学计算机学院张勇,2015年南京理工大学研究生数模竞赛获奖名单
- 面向对象的软件开发 (转)
热门文章
- 计算机电脑水晶字制作图片,电脑技巧收藏家photoshop技巧Photoshop教程:制作透明水晶字(3)...
- 对开环系统与闭环系统的初步理解
- ROS从入门到精通0-1:教程导读
- 商业客流统计系统商场实际应用功能
- 英语基本句型之简单句
- 工字型钢弹性截面模量计算公式_工字钢的公式
- 我觉得那台计算机使用便利英语翻译,我正准备使用计算机 的翻译是:I was going to use the computer 中文翻译英文意思,翻译英语...
- 爬虫小例--爬药监局(上)
- 程序员为了女朋you进了华为,同学去了阿里,2年后对比收入懵了
- Imagenet 数据集迅雷下载种子