毕业季和同学去拍了一些照片,后面共享回来的照片,格式是 HEIC 格式的,在电脑上可以直接打开,但是 iCloud 相册里面上传照片只支持 jpg 格式,哪怕这些照片就是用 iPhone 拍的,也不能直接上传,没有办法,只能够手动转一次照片格式。 网上也有很多 HEIC 转 JPG 格式的工具网站,但是都只能够一张张上传,然后一张张下载,这对于需要处理较大量照片的情况显然并不是一个好的解决方案。于是自然打算写个脚本,进行转换。
当然现在有了 ChatGPT,写脚本都不用亲历亲为了,直接把问题抛给它,我们只需要做代码的搬运工。
看起来很不错,复制到本地,替换一下路径一跑,发现脚本并不能正常运行,原因是使用的 Pillow 库其实不支持 HEIC 格式的图片。继续把问题交给它,它又给我推了一个 pyheif 库来处理,然而这个库需要 MSVC 相关工具链来编译安装,在我的电脑安装总是失败,后面尝试了几个它推荐的依赖库,都安装不了,寄!被 Python 的跨平台安装构建的低移植性狠狠教训,而为了写个脚本专门去配个环境或者容器又太夸张了。
于是使用最近在学的 F#来代替,继续把问题交给 ChatGPT,来回复制粘贴代码运行尝试几次后,顺利完成任务。
|
|
对比于 Python,使用 F#来写脚本其实也足够简单和方便,可以单个 fsx 文件来写,也可以直接把写好的代码复制到 fsi 交互命令行里逐段代码执行,方便得很。尤其是对于有外部依赖库的脚本代码,使用 F# 或者 C# 的脚本,这样一行代码引用依赖库,可比在命令行中全局安装一个依赖好用得多。(起码不会有安装失败的问题)