命令行程序从入口点函数main运行 。参数通过传递给click.option选项:
- pattern采用字符串形式来定位与脚本运行的目录相关的一个或多个图像 。--pattern="../catpics/*.png将向上一级查找catpics文件夹 , 并返回该文件夹中具有.png图像扩展名的所有文件 。
- scale接受一个数字、浮点或整数 , 并将其传递给resize函数 。这个脚本很简单 , 没有数据验证 。如果你添加到代码中 , 检查比例是一个介于5和99之间的数字(合理的缩小比例参数) 。你可以通过-s "chicken nuggets"进行设置 。
- 如果不希望在程序运行时将文本输出到标准流 , 则quiet是一个选项参数 。
python resize.py -s 35 -p "./*jpg"结果:$ py resize.py -p "checkers.jpg" -s 90resized image saved to checkers_90_810x810.jpg.正在检查文件夹:$ ls -lh checkers*-rw-r--r-- 1 nicho 197609 362K Aug 15 13:13 checkers.jpg-rw-r--r-- 1 nicho 197609 231K Aug 15 23:56 checkers_90_810x810.jpg不错!所以程序缩小了图像 , 给了它一个描述性的标签 , 我们可以看到文件大小从362KB到231KB!为了查看程序同时处理多个文件 , 我们将再次运行它:
$ py resize.py --pattern="checkers*" --scale=20resized image saved to checkers_20_180x180.jpg.resized image saved to checkers_90_810x810_20_162x162.jpg.文件系统输出:$ ll -h checkers*-rw-r--r-- 1 nicho 197609 362K Aug 15 13:13 checkers.jpg-rw-r--r-- 1 nicho 197609 1.8K Aug 16 00:23 checkers_20_180x180.jpg-rw-r--r-- 1 nicho 197609 231K Aug 15 23:56 checkers_90_810x810.jpg-rw-r--r-- 1 nicho 197609 1.8K Aug 16 00:23 checkers_90_810x810_20_162x162.jpg只要匹配到了模式 , 递归可以处理任意数量的图像 。Click
推荐阅读
- 原来这才是Spring Boot使用AOP的正确姿势
- 手写Redis分布式锁
- 使用spring cache让我的接口性能瞬间提升了100倍
- 如何使用软路由实现宽带加速,免费让300M宽带变600M
- 使用 Python 自动发送 QQ 消息
- 人人都能掌握的Chrome使用技巧
- 如果C++最强大,为什么它不及Java、Python流行?
- Android Hawk框架使用介绍
- python 中日志异步发送到远程服务器
- 使用Docker来构建、运行、发布微服务
