Python字符串开头或结尾匹配:startswith与endswith用法详解
本文介绍如何在Python中利用startswith和endswith方法在字符串开头或结尾进行文本模式匹配。通过示例演示如何检查文件扩展名和URL协议,并展示如何结合元组进行多选项检查及数据整理操作,帮助开发者高效处理字符串验证任务。
本文通过具体实例,讲解Python中如何在字符串的起始位置或末尾位置执行文本匹配操作,供读者参考学习。
应用场景:需要在字符串的开头或结尾依据指定的文本模式进行检查,例如验证文件的扩展名类型或确认URL的协议类别等。
解决方案:调用str.startswith()和str.endswith()这两个字符串方法来实现匹配。
>>> filename='spam.txt'
>>> filename.endswith('.txt')
True
>>> filename.startswith('file:')
False
>>> url='http://www.python.org'
>>> url.startswith('htto:')
False
>>> url.startswith('http:')
True
>>>
若需针对多个可能的选项进行判断,只需向函数startswith()和str.endswith()传递一个包含所有备选方案的元组即可:
>>> import os
>>> os.getcwd()
'D:\\4autotests\\02script\\pythonbase'
>>> os.listdir()
['foo.py', 'hello.txt', 'Makefile', 'spam.c', 'spam.h', 'test1.py']
>>> filename=os.listdir()
>>> filename
['foo.py', 'hello.txt', 'Makefile', 'spam.c', 'spam.h', 'test1.py']
>>> [name for name in filename if name.endswith(('.c','.h'))]
['spam.c', 'spam.h']
>>> any(name.endswith('.py') for name in filename)
True
此外,当startswith()和str.endswith()方法与其他数据处理操作(如常见的数据清洗或整理任务)结合使用时,效果显著。例如,以下代码用于检查当前目录中是否存在特定类型的文件:
>>> os.getcwd()
'D:\\4autotests\\02script\\pythonbase'
>>> os.listdir()
['foo.py', 'hello.txt', 'Makefile', 'spam.c', 'spam.h', 'test1.py']
>>> if any(name.endswith(('.txt','.py')) for name in os.listdir(os.getcwd())):
print('文件存在')
文件存在
>>>
(代码片段源自《Python Cookbook》)
对Python其他技术细节感兴趣的读者,可进一步查阅本站相关专题,包括《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》以及《Python文件与目录操作技巧汇总》。
期望本文提供的说明能对各位的Python编程实践有所助益。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









