python脚本限制_解决python 上传图片限制格式问题
终于忙完有空更新了,这次说下一个比较简单的东西,限制上传图片格式问题。
先上代码!
img_file = 'D:\\image\\test.jpg'
# uuid生成文件名
key = shortuuid.ShortUUID().random(length=9)
if img_file.size > 2097152:
raise exceptions.APIException('图片大小超出限制')
# file_postfix = img_file.name.split('.')[1]
suffix = img_file.name.rfind('.')
if suffix == -1:
raise exceptions.APIException('图片不正确')
file_postfix = img_file.name[suffix + 1:]
if file_postfix not in ['jpg', 'png', 'gif', 'bmp', 'jpeg', 'JPG', 'PNG',
'BMP', 'JPEG', ]:
raise exceptions.APIException('图片格式不正确')
file_name = key + '.' + file_postfix
以前项目里总是再用file_postfix = img_file.name.split('.')[1]这种方法再取文件后缀进行判断格式,这种方法对普通的文件名还是没问题的例如:图片1.jpg、图片2.jpg、图片3.jpg。但是遇到www.图片1.jpg这种的图片名称就会爆炸,因为图片名称中存在两个.
suffix = img_file.name.rfind('.') 而str的rfind方法就可以避免这种问题,因为这是反响寻找。举个例子
a = '123456'
print('下标', a.rfind('5'))
输出结果:下标 4
a = '123456'
print('下标', a.rfind('7'))
输出结果: 下标 -1
rfind方法从字符串最后以为开始找,找到返回下标,找不到返回-1。
所以 www.test.jpg 这种格式的图片他会从最后位置开始找.找到之后在截取就只剩jpg了,也就好判断了。
要注意的是rfind的下标是从0开始的,所以截取的时候记得加1。
行了 其他的基本没啥了。这篇文章就到这吧,最近会更新上传图片到微信服务器。
总结
以上所述是小编给大家介绍的解决python 上传图片限制格式问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
python脚本限制_解决python 上传图片限制格式问题相关推荐
- python super 多重继承_解决python super()调用多重继承函数的问题
当类间继承关系很简单时,super()的使用很简单. class A(object): def __init__(self): print('a') class B(A): def __init__( ...
- 魔兽世界python脚本拍卖行_利用python脚本进行资产监测
写在前头一些与本文无关的话 好久好久没有写博客了,上次写的那篇离现在也有大半年了.这大半年去了公司实习,公司事情比较多也没时间整理. 好吧!主要还是因为懒,在这期间也想恢复想blog的,但又被心中那个 ...
- python中幂函数_解决python中的幂函数、指数函数问题
最近在调代码,碰到幂函数.指数函数,总是提示 ValueError: math domain error ValueError: negative number cannot be raised to ...
- python脚本下载_日记python脚本
日记python脚本是一款日记辅助脚本,主要是为用户快速读取日期,并创建当日对应的年文件夹.月文件夹,节省了用户自己手动去创建的麻烦.该脚本工具在使用前需要进行一些调整,诸如创建文件夹的位置等都需要用 ...
- python pillow环境_解决Python图片处理模块pillow使用中出现的问题
最近爬一个电影票房的网站(url:http://58921.com/alltime),上面总票房里面其实是一张图片,那么我需要把图片识别成文字,来获取票房数据. 我头脑里第一想到的解决方案就是要用te ...
- python乱码怎么办_解决python发送邮件乱码问题
使用python发邮件很简单,但是遇到乱码问题很烦恼. 乱码问题有几种:有发件人名称乱码,有标题乱码,也有正文乱码的问题. 一.发件人名称乱码 要解决发件人名称乱码问题,必须使用Header,如下代码 ...
- windows运行python脚本卡住_运行python脚本安装windows服务时没有响应
代码如下: import win32serviceutil import win32service import win32event import servicemanager import soc ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合
Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合 目录 Python版本升级的原因 Text and binary data in P ...
最新文章
- java抓取网页标题内容_[Java教程]java 网页页面抓取标题和正文
- php5时区,[摘]PHP5.1时区设置
- 全局静态存储区、堆区和栈区深入剖析
- oracle 多个实例互相切换实例
- 试题 历届试题 买不到的数目(dp/数学)
- IndexOptions类说明
- 哈希表,哈希算法(C语言)
- Dockerfile 文件结构、docker镜像构建过程详细介绍
- oracle查询学生人数语句,Oracle期末复习题-带答案
- SQL Server 2008 评估期已过解决方法
- 【图像处理】MATLAB:频域处理
- selenium启动火狐浏览器_selenium之nodejs入门使用
- c语言怎么调用fork函数,C语言编程创建函数fork() 执行解析.pdf
- 开源电路仿真软件CircuitJS1介绍与使用入门
- 深度学习面试每日一题
- java virt res_top命令里内存参数 VIRT, RES 和 SHR 分别是什么意思
- 科达与中航工业签署战略合作协议
- openvas linux/window漏洞扫描和整改
- 信息安全系统设计基础实验一
- 告诉你什么是挖洞最清奇的脑回路
热门文章
- 原来它一直在“装嫩”|“心电图”揭秘富锂巨星真实年龄
- 西媒盘点:历史不该遗忘的七位女数学家
- 美国哪些专业最赚钱?从489个大学专业中替你挑出薪资最高的50名!
- 数学的威力有多大?足以震慑全球......
- java 入门程序_自学 Java 怎么入门?
- ubuntu的java环境变量_Ubuntu安装JDK与环境变量配置
- osg学习笔记(一)
- 阿里云张献涛:自主最强DPU神龙的秘诀
- MaxCompute 挑战使用SQL进行序列数据处理
- 涨姿势 | 一文读懂备受大厂青睐的ClickHouse高性能列存核心原理