假如我们有一个任务,需要上传一个文件,但是云盘支持的文件非常少。我们需要将文件检测后缀名后在上传,避免我们的流量的消耗。那么我们该如何检测我们的后缀名呢?
我们将使用os模块对我们的文件名进行检测。假如我们在当前目录上有一张TRUMBS.PNG的图片,那么我们要检测它是否在网站禁止上传的目录中,我们要将禁止上传的文件列出来
["php","pl","cgi","py","sh","shtm","xap","swf","phtml","asax","cer","asa","cgi","php5","php6","php7","pht"]
这些是我们服务器禁止上传的文件格式,那么我们通过检测来确定是否我们的文件在列表之中。
那么现在我们需要用到在OS模块下的一个函数,来检测我们的文件
file_path.endswith(end_file_name)
file_path的意义是传入一个位置,end_file_name是我们要确认的文件,他可以是元组或者字符串。
单个文件的后缀名检测非常简单,我们使用先导入os模块,然后在os模块中输入我们想要检测的文件即可。
其实原理十分简单,就是交给OS模块来检测
import os
path = "./THUMBS.png"
bool_endswith = path.endswith(".jpg")
print(bool_endswith)
还是上面那个例子,我们将会使用我们的列表进行我们的学习,我们将会使用列表来转换成元组,来实现我们的检测
那么我们的TUPLE()函数就是将我们的列表转换成元组,然后在进行检测
import os
endswith = ["php","pl","cgi","py","sh","shtm","xap","swf","phtml","asax","cer","asa","cgi","php5","php6","php7","pht"]
endswith_tuple = tuple(endswith)
path = "./THUMBS.png"
bool_endswith = path.endswith(endswith_tuple)
print(bool_endswith)
我的一篇关于上传文件的博客,希望支持点击访问
如需转载,请附上原文链接