Python endsWith() 字符串结尾判断方法详解

Leo
Leo
发布时间:2026-10-11 | 2人浏览过
原创

本文详细解析 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。若强行传入列表或非字符串元素,将触发类型错误:

Python endsWith函数传入非字符串非元祖时的TypeError报错提示
当参数类型不符合要求时,解释器会抛出 TypeError 异常提示。

多条件匹配实战(文件上传黑名单拦截):

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 字符串高级操作与文件校验技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表