Python endsWith() 字符串结尾判断方法详解
本文详细解析 Python 中用于判断字符串是否以指定内容结尾的 endsWith() 方法。涵盖完整语法结构、起止索引区间的划定规则、元组多条件匹配技巧,以及大小写敏感、空字符返回逻辑等实战注意事项,附带文件后缀名校验示例与报错排查方案。
明确 Python endsWith() 语法与参数
该内置方法用于检测目标字符串是否在尾部符合特定条件。正确调用需遵循以下规范:
str.endswith(suffix, start=0, end=len(str))
suffix:必选参数,接收字符串或纯字符串构成的元组。start:可选参数,设定检查范围的起始索引,默认值为0。end:可选参数,设定检查范围的结束索引,默认值为当前字符串长度。
执行后将直接返回布尔值:符合条件返回 True,否则返回 False。
基础判定示例:
print('hello world'.endswith('world'))
True
通过起止索引精确划定检测范围
当需要忽略字符串前缀或截断末尾部分时,可通过索引约束生效区间。仅设置开始索引时,系统将自动检测至字符串末尾即 [start, 末尾]:
print('hello world'.endswith('world', 1))
True
同时配置起点与终点可锁定子片段。例如检测索引 0~5(对应文本 'hello '):
print('hello world'.endswith('world', 0, 5))
False
此外也可先利用切片截取子串再调用方法,两者逻辑等效:
print('hello world'[0:5].endswith('world'))
False
使用元组实现多后缀批量匹配
suffix 参数支持传入多个字符串组成的元组。系统会按顺序遍历,只要任意一项命中即返回 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
排查大小写敏感与空串边界逻辑
该方法的匹配机制严格区分大小写。直接比对大小写混用的后缀名将导致预期外的 False 结果:
file_name = 'shell.PHP'
print(file_name.endswith('php'))
False
统一转为小写即可解决:
file_name = 'shell.pHp'
print(file_name.lower().endswith('php'))
True
需注意边界情况:传入空字符串时恒返回 True,而包含单个空格的字符串则视为有效文本,返回 False:
print('hello world'.endswith(''))
print('*&ab31'.endswith(''))
print('hello world'.endswith(' '))
True
True
False
以上就是 Python endsWith() 方法的具体使用详解,更多关于 Python 字符串高级操作与文件校验技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













