Python endswith()函数的具体使用

 更新时间:2023年07月14日 09:21:29   作者:士别三日wyx  
本文主要介绍了Python endswith()函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

endwith() 可以「判断」字符串是否以指定内容「结尾」。

语法

string.endwith( str, start, end )

参数

  • str :(必选,字符串或元组)指定字符串或元素
  • start :(可选)开始的索引,默认值0
  • end :(可选)结束的索引,默认值-1

返回值

  • 以指定内容结尾返回 True
  • 不以指定内容结尾返回 False

实例:判断字符串是否以 ‘world’ 结尾

print('hello world'.endswith('world'))

输出:

True

1、指定范围

设置开始和结束的「索引」来指定范围,索引从0开始。

只设置「开始」的索引,默认检查到字符串末尾,即[start,末尾]

print('hello world'.endswith('world', 1))

输出:

True

同时设置「开始」、「结束」的索引,可以检测字符串的某个范围内是否以指定内容结尾。

print('hello world'.endswith('world', 0, 5))

输出:

False

从输出结果可以发现,字符串(0~5)索引是‘hello ’,不以‘world’结尾,所以返回False。

除了在 endwith() 参数中设置索引,还可以通过字符串的索引来指定范围

print('hello world'[0:5].endswith('world'))

输出:

False

2、str可以传入元组

str 参数只能是字符串或者元祖(元素都是字符串类型),否则会报错 TypeError: endswith first arg must be str or a tuple of str

传入元素都是字符串的类型的「元祖」,会自动遍历并判断字符串是否以元组中的元素结尾,只要满足一个,就返回True;全部不满足,就返回False。

print('hello world'.endswith(('world', 'a')))
print('hello world'.endswith(('b', 'a')))

输出:

True
False

实例:文件后缀名黑名单

file_name = 'shell.php'
if file_name.endswith(('php', 'jsp', 'asp')):
    print('被禁止的文件类型,请重新上传')
else:
    print('上传成功')

如果只有「列表」,可以转成数组再判断

list1 = ['world', 'a', 'b']
tuple1 = tuple(list1)
print('hello world'.endswith(tuple1))

输出:

True

3、空字符串为真

判断字符串是否以 空字符串""结尾时,会返回True。

print('hello world'.endswith(''))
print('*&ab31'.endswith(''))

输出:

True
True

「空格」就不行了,会返回False

print('hello world'.endswith(' '))

输出:

False

4、大小写敏感

endwith() 判断时,区分「大小写」,这导致我们匹配不到一些文件后缀名,比如下面这样会返回False

file_name = 'shell.PHP'
print(file_name.endswith('php'))

输出:

False

我们可以先 lower() 转成小写,再进行判断

file_name = 'shell.pHp'
print(file_name.lower().endswith('php'))

输出:

True

到此这篇关于Python endswith()函数的具体使用的文章就介绍到这了,更多相关Python endswith()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决每次打开pycharm直接进入项目的问题

    解决每次打开pycharm直接进入项目的问题

    今天小编就为大家分享一篇解决每次打开pycharm直接进入项目的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python与Redis的连接教程

    Python与Redis的连接教程

    这篇文章主要介绍了Python与Redis的连接教程,Redis是一个高性能的基于内存的数据库,需要的朋友可以参考下
    2015-04-04
  • Python中单引号、双引号和三引号具体的用法及注意点

    Python中单引号、双引号和三引号具体的用法及注意点

    这篇文章主要给大家介绍了关于Python中单引号、双引号和三引号具体的用法及注意点的相关资料,Python中单引号、双引号、三引号中使用常常困惑,想弄明白这三者相同点和不同点,需要的朋友可以参考下
    2023-07-07
  • Python通过select实现异步IO的方法

    Python通过select实现异步IO的方法

    这篇文章主要介绍了Python通过select实现异步IO的方法,实例分析了Python中select模块的使用技巧,需要的朋友可以参考下
    2015-06-06
  • 自定义Django Form中choicefield下拉菜单选取数据库内容实例

    自定义Django Form中choicefield下拉菜单选取数据库内容实例

    这篇文章主要介绍了自定义Django Form中choicefield下拉菜单选取数据库内容实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python利用字节串或字节数组来加载和保存PDF文档

    Python利用字节串或字节数组来加载和保存PDF文档

    处理PDF文件的可以直接读取和写入文件系统中的PDF文件,然而,通过字节串(byte string)或字节数组(byte array)来加载和保存PDF文档在某些情况下更高效,本文将介绍如何使用Python通过字节串或字节数组来加载和保存PDF文档,需要的朋友可以参考下
    2024-09-09
  • pyspark创建DataFrame的几种方法

    pyspark创建DataFrame的几种方法

    为了便于操作,使用pyspark时我们通常将数据转为DataFrame的形式来完成清洗和分析动作。那么你知道pyspark创建DataFrame有几种方法吗,下面就一起来了解一下
    2021-05-05
  • Python教程pandas数据分析去重复值

    Python教程pandas数据分析去重复值

    Pandas指定行进行去重更新值,加载数据sample抽样函数,指定需要更新的值append直接添加append函数用法,根据某一列key值进行去重key唯一
    2021-09-09
  • Python matplotlib画图与中文设置操作实例分析

    Python matplotlib画图与中文设置操作实例分析

    这篇文章主要介绍了Python matplotlib画图与中文设置操作,结合实例形式分析了Python使用matplotlib进行图形绘制及中文设置相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • Python实现向QQ群成员自动发邮件的方法

    Python实现向QQ群成员自动发邮件的方法

    这篇文章主要介绍了Python实现向QQ群成员自动发邮件的方法,通过读取txt文本里的QQ成员数据再调用发送邮件函数实现该功能,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11

最新评论