写一段Python代码,遍历指定目录下所有文件夹,将文件夹中所有webp文件转换为jpg文件;当有错误产生时,它应回滚所有操作,并输出错误信息.
时间: 2023-06-05 07:06:29 浏览: 162
好的,以下是Python代码:
```python
import os
import shutil
def convert_to_jpg(folder_path):
jpg_folder_path = folder_path
# 遍历文件夹
for root, dirs, files in os.walk(folder_path):
for name in files:
# 检查文件格式
if name.endswith('.webp'):
webp_path = os.path.join(root, name)
# 替换文件后缀为jpg
jpg_name = name.replace('.webp', '.jpg')
jpg_path = os.path.join(jpg_folder_path, jpg_name)
try:
# 转换为jpg
os.system("magick %s %s" % (webp_path, jpg_path))
except Exception as e:
print("Error occurred: ", e)
# 操作回滚
shutil.rmtree(jpg_folder_path)
raise
# 调用函数
try:
folder_path = input("请输入指定目录路径:")
convert_to_jpg(folder_path)
except:
print("操作回滚,所有操作已被撤销!")
pass
```
使用 `os.walk()` 方法遍历指定目录下的所有文件,通过检查文件格式,将 `.webp` 文件转换成 `.jpg` 文件。
如果在转换过程中有任何错误产生,程序将应回滚所有操作,并输出错误信息,避免因转换错误而损坏原始数据。
请注意,本AI不支持执行本地命令 `magick`。本代码仅供参考,您需要将其修改为适合您的环境和需求的代码。
阅读全文