假设某网站只允许用户上传jpg、png和jpeg格式的文件,要求编写代码,通过异常捕获语句实现用户上传头像格式检测的功能,如果格式正确打印上传成功,否则输出异常信息:图片格式错误,仅支持jpg/png/jpeg格式。
时间: 2024-10-22 14:05:46 浏览: 21
为了实现这个功能,你可以使用Python的`os`模块来检查文件的扩展名,然后判断是否是.jpg、.png或.jpeg。下面是一个简单的示例:
```python
import os
def upload_avatar(file_path):
allowed_extensions = ['.jpg', '.png', '.jpeg']
try:
# 获取文件扩展名
file_extension = os.path.splitext(file_path)[1]
# 检查扩展名是否在允许的范围内
if file_extension.lower() not in allowed_extensions:
raise ValueError("图片格式错误,仅支持jpg/png/jpeg格式")
print("上传成功")
except ValueError as e:
print(e)
# 调用函数并传递文件路径
upload_avatar('example.jpg') # 这将正常打印"上传成功"
upload_avatar('example.bmp') # 将会抛出异常并打印"图片格式错误,仅支持jpg/png/jpeg格式"
```
在这个代码中,我们首先创建了一个包含允许格式的列表。然后,在`try`块中,我们尝试获取文件路径的扩展名,并将其转换为小写以进行比较。如果不匹配,我们就抛出一个`ValueError`异常,并捕获它来显示自定义的错误消息。
阅读全文