网站首页 > 技术文章 正文
Python中提供的内置函数中endswith()是用于判断一个字符串是否以特定的字符串后缀结尾,如果是则返回逻辑值True,否则返回逻辑值False.
该函数与startswith()函数相似,只不过startswith()函数用于判断一个字符串是否以特定的字符串前缀开始。
1、endswith()函数的语法形式
Python中的endswith()函数的语法格式如下:
string_object.endswith ( suffix [ , start [ , end ]] )
2、endswith()函数的参数含义
各参数的含义如下:
- suffix: 必选参数,用于给出要判断的后缀字符串,可以是字符串类型,也可以是一个字符串元组;
- start:可选参数,用于指定字符串搜索的起始位置索引;
- end:可选参数,用于指定字符串搜索停止位置的索引。
该函数的返回值为逻辑值,如果字符串中包含指定的后缀则返回True,否则返回False。
3、使用实例
(1)不指定start和end
str1 = "翔宇亭IT乐园"
str_suffix = "IT乐园"
rtn_result = str1.endswith(str_suffix)
print(rtn_result)
输出:True
rtn_result = "翔宇亭IT乐园".endswith("IT")
print(rtn_result)
输出:False
(2)指定参数start
str1 = "翔宇亭IT乐园"
str_suffix = "IT乐园"
rtn_result = str1.endswith(str_suffix, 2)
print(rtn_result)
rtn_result = str1.endswith(str_suffix, 3)
print(rtn_result)
rtn_result = str1.endswith(str_suffix, 4)
print(rtn_result)
输出:
True
True
False
(3)指定参数end
该参数必须是在指定了start参数的前提下才能使用。
str1 = "翔宇亭IT乐园"
print(str1.endswith("IT乐园", 2, 5))
print(str1.endswith("IT乐园", 2, 6))
print(str1.endswith("IT乐园", 2, 7))
输出:
False
False
True
该函数的start参数和end参数同样可以使用小于0的整数,具体可以见startswith()函数中的相关内容。
4、suffix参数为元组的情形
str1 = "I am a student"
suffix =("tutor", "teacher", "student", "headteacher")
rtn_result = str1.endswith(suffix)
print(rtn_result)
输出:True
这里,endswith()函数将会一一比较字符串中是否包含元组中的某一个元素,如果字符串的后缀包含元组中的某一个元素,则返回True.
5、一个实际应用的例子
这个例子要演示文档上传处理时的一个情景。程序根据用户上传的不同文档类型,保存到不同的目录中。
save_path = "Upload\\"
upload_file = "年度报表.docx"
if upload_file.lower().endswith((".doc",".docx")):
save_path += "word\\" + upload_file
elif upload_file.lower().endswith((".xls", ".xlsx")):
save_path += "excel\\" + upload_file
else:
save_path += "others\\" + upload_file
print(save_path)
输出:Upload\word\年度报表.docx
该段程序首先将用户上传文件的名称使用lower()函数转换为小写形式 ,然后使用endswith()函数判断是否某个特定文件的后缀,然后使用 += 运算符把基础路径和文件路径拼接起来。其在Python3.8.2中运行情况:
如果你对Python、R语言等内容感兴趣,欢迎关注我,本号将持续更新相关内容。
猜你喜欢
- 2025-04-01 Python中docx与docxcompose批量合并多个Word文档并添加分页符
- 2025-04-01 Python连接西门子PLC(python读取plc数据)
- 2025-04-01 探索 Python 中合并两个字典的七种方法,找到最适合你的那一款!
- 2025-04-01 Python 字典合并、求和大作战,轻松搞定各路数据
- 2025-04-01 Python将两个或多个列表合并为一个列表的列表
- 2025-04-01 python合并excel工作表中的sheet页,第一列为索引,将某一列连接
- 2025-04-01 Python办公自动化-Excel合并同类项内容
- 2025-04-01 Python 连接三款流行的数据库(python用什么接口连数据库)
- 2025-04-01 无缝融合:使用 Python 和 PyFFmpeg 合并视频的完整指南
- 2025-04-01 7行Python代码,快速合并音频和视频文件!
- 264℃Python短文,Python中的嵌套条件语句(六)
- 263℃python笔记:for循环嵌套。end=""的作用,图形打印
- 261℃PythonNet:实现Python与.Net代码相互调用!
- 256℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 256℃Python实现字符串小写转大写并写入文件
- 116℃原来2025是完美的平方年,一起探索六种平方的算吧
- 96℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 89℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
-
- 金母鸡量化教学场:pandas—数据挖掘的Python库
- 分享一个用于商业决策数据挖掘的python案例
- Python图像识别实战(二):批量图像读取和像素转换(附源码)
- 从小白到大神,这10个超实用的 Python 编程技巧不可少
- 太震撼!527页战略级Python机器学习实战,实用度碾压群书!附PDF
- 一篇文章带你解析Python进程(一篇文章带你解析python进程怎么写)
- 大数据分析师如何进行数据挖掘?大数据分析师丨 2025 年报考攻略
- UG编程第34节:浅谈机床坐标系(ug编程机床坐标系细节)
- 想入门Python?先狠下心来死磕这7个方向
- Python大屏看板最全教程之Pyecharts图表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)