用Python调用CMD命令 批量转换Webp到Png
2021/4/28 12:26:42
本文主要是介绍用Python调用CMD命令 批量转换Webp到Png,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景
写了个小爬虫,爬了一堆图片回来,全都是webp格式的。
可我还在用着上古时代的AcdSee 3.2,一张张图片都拖到浏览器里去看也显得太傻了。
虽然我瘾大,可是人菜。
看了半天别的玩家写的各种奇奇怪怪的攻略,高人可以用powershell一句话搞定,我当然也知道powershell很好很强大,奈何我怎么改来改去在我的计算机上都跑不通。
最后只好还是求助我刚学会没几天的Python。
准备工作
这webp的始作俑者当然是Google,它家也提供一个软件包用来折腾webp的文件。
地址在此: https://developers.google.com/speed/webp
解压下来之后的文件里面跟FFMpeg很像,直接去bin文件夹看看就好。
看了一下随文件自带的说明,里面讲了几个参数,大致是这样的:
> dwebp -h Usage: dwebp in_file [options] [-o out_file]
有了这个dwebp.exe文件,就可以开工了
实操
进入VS Code写代码
import os # 首先调用os模块 # 接着指定webp图片所在所有文件夹的目录 rootdir = r'D:\RMT\TRY\vmg' # 通过os模块的os.walk()函数来遍历这个文件夹和其下所有的子文件夹里面的内容 for (folder,_,filenames) in os.walk(rootdir): # 通过循环,来得到文件夹里面的路径 for n in filenames: # 得到类似D:\RMT\TRY\vmg\鲜花和浪漫都给你\2021030910104769.webp这样的源文件完整地址 input_file = folder + "\\" + n # 得到类似D:\RMT\TRY\vmg\鲜花和浪漫都给你\2021030910104769.png这样的目标文件的完整地址 output_file = input_file.split(".")[0] + '.png' # 指定google的webp文件解码器的路径 bin_file = r'F:\Lab\libwebp-1.2.0-windows-x64\libwebp-1.2.0-windows-x64\\bin\dwebp' # 通过python3的高版本引入的f格式来简化字符串的拼接,而且显得很直观。 # 这里的-mt是dwebp中的参数,意为调用多线程,如果你的图片不大,可以省略 command = f'{bin_file} "{input_file}" -mt -o "{output_file}"' # 到了这一步,得到的命令将类似于: # F:\Lab\libwebp-1.2.0-windows-x64\libwebp-1.2.0-windows-x64\bin\dwebp "D:\RMT\TRY\vmg\鲜花和浪漫都给你\2021030910104769.webp" "D:\RMT\TRY\vmg\鲜花和浪漫都给你\2021030910104769.png" # 最后调用os模块来执行cmd命令 os.system(command)
哎,时代的车轮滚滚,像我这样用着拼音加加,抱着windows 7和AcdSee 3.2不肯撒手的人,可能注定该留在历史的垃圾堆里了吧……
这篇关于用Python调用CMD命令 批量转换Webp到Png的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python