跳到主要内容

重写了图床神器,支持七牛云和腾讯云

· 阅读需 3 分钟

前言

用Python重写了图床神器,支持七牛云和腾讯云。用Python写起来感觉顺滑多了~贴一下效果:

项目地址:lpic: 终端图床神器

为什么要想着重写图床神器呢?

因为,突然发现七牛云的外链不是HTTPS的,然后谷歌浏览器地址栏就没有小绿锁了,标记网站为不安全。而腾讯云的外链是HTTPS的,而且,腾讯云免费额度更多(虽然七牛云10G也足够)。想了想,还是搬到腾讯云吧。貌似谷歌会在以后版本的谷歌浏览器将HTTP用红色警告标记为不安全,所以还是早早上HTTPS比较好。

用Python重写其实难度不大,就调用调用官方SDK就行了。不过,在此过程中还是有些收获的。

总结

压缩图片

既然是用Python重写,通过调用命令行的方式用convert命令压缩图片就显得不够优雅了。可以用Pillow来处理:

from PIL import Image

with Image.open(file) as im:
im.save(new_file, format='JPEG', optimize=True)

optimize=True 表示自动优化,使用JPEG压缩效果很不错。

读取YAML

yaml格式作为配置文件貌似挺火的,好像有不少软件的配置文件用的yaml。不过,我觉得yaml有点坑的地方在于,:后面要有空格,否则会解析失败。

Python可以用现成的PyYAML来读取YAML:

import yaml

with open(yml_file) as fp:
conf = yaml.load(fp)

会解析为dict。

这里说一个小插曲,我习惯使用dict的.get(key, default)方法来设置默认值,不过在读取yaml后我用这种方式设置默认值发现没效果。后来才发现是我思维定势了,如果key存在,即使对应的值是None,也不能用这种方式设置默认值,因为key存在,而这个方法是给不存在的key设置默认值的。