每天一个Python小技巧(5)

2021-08-16  本文已影响0人  米洛丶

大家好,我是米洛,一个想和大家一起分享测试开发相关的技术,面试经验和成长经历的博主!

欢迎大家关注我的龚仲耗: 测试开发坑货


今天比较短,故事来!

故事

榜一大哥正在做一个用户头像上传的功能,为了安全起见,他需要对文件进行校验,判断用户传的是不是图片。常见的图片后缀有哪些呢?

简化

我们在接受到文件的时候,可以拿到文件名,我们只需要判断文件名后缀是不是标准的文件格式即可。

很多人都知道startswith和endswith,所以我们可以利用这个方法去判断:

filename = "xxxx.jpg"
if filename.endswith(".jpg") or filename.endswith(".gif") \
  or filename.endswith(".png") or filename.endswith("jpeg"):
    # 继续上传操作
    pass
else:
    print("请上传合法的图片")

有没有觉得这个方法很繁琐?其实endswith和startswith(判断字符串是否以xxx开头)是支持tuple的哦~

看下面的例子:

filename = "xxxx.jpg"
file_type = (".jpg", ".gif", ".png", "jpeg")
if filename.endswith(file_type):
    # 继续上传操作
    pass
else:
    print("请上传合法的图片")

这样就方便许多了!非常好用

继续赠送

如果我们endswith/startswith的内容需要支持忽略大小写,怎么做呢?

其实很简单,我们用filename.lower().endswith(小写tuple)即可,这样可以既不改变filename,也可以达到忽略大小写的目的。

非常好用!!!

上一篇 下一篇

猜你喜欢

热点阅读