每天一个Python小技巧(5)

简介: 每天一个Python小技巧(5)

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


今天比较短,故事来!

故事


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

  • png
  • jpg
  • jpeg
  • gif
  • bmp(好像也没啥人用)
    我们常见的有这些,svgicon那种更适合当图标,我们就不算了。

简化


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

很多人都知道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,也可以达到忽略大小写的目的。


非常好用!!!



相关文章
|
3月前
|
存储 索引 Python
Python小技巧:单下划线 '_' 原创
Python小技巧:单下划线 '_' 原创
76 3
|
7月前
|
机器学习/深度学习 C++ Python
Python小技巧:蛇形方阵
Python小技巧:蛇形方阵
|
3月前
|
开发者 索引 Python
7个提升python编程的小技巧
7个提升python编程的小技巧
51 1
7个提升python编程的小技巧
|
3月前
|
开发工具 git Python
Python小技巧:满意的逗号放置
Python小技巧:满意的逗号放置
20 4
|
7月前
|
Python
Python小技巧:一种字符串的排序方式
该文介绍了如何对包含数字的字符串列表进行特定排序。首先,示例了一个初始问题,使用Python内置的`sorted()`函数未能达到预期(按数字部分升序排序)。然后,文章提出通过自定义排序键`sort_key`来解决,利用正则表达式提取字符串尾部数字并进行排序。进一步,文章扩展到处理如'nxxx_name_nxxx'格式的字符串,通过给前缀和后缀数字赋予不同权重进行复合排序,展示了如何实现先按前缀、再按后缀排序的功能。提供的代码示例成功地完成了任务。
|
3月前
|
存储 索引 Python
Python小技巧:单下划线 ‘_‘
Python小技巧:单下划线 ‘_‘
18 0
|
3月前
|
SQL 关系型数据库 MySQL
Python小技巧——将CSV文件导入到MySQL数据库
Python小技巧——将CSV文件导入到MySQL数据库
156 0
|
4月前
|
索引 Python
干货!20个Python使用小技巧
干货!20个Python使用小技巧
|
5月前
|
Python
Python小技巧:一种字符串的排序方式
Python小技巧:一种字符串的排序方式
52 0
|
6月前
|
Python
Python一些实用小技巧
Python一些实用小技巧
22 0