Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作


Posted in Python onApril 20, 2018

本文实例讲述了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探索之SocketServer详解
Oct 28 Python
Python定时器实例代码
Nov 01 Python
使用Python读取二进制文件的实例讲解
Jul 09 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
使用python实现画AR模型时序图
Nov 20 Python
python实现把两个二维array叠加成三维array示例
Nov 29 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
python脚本监控logstash进程并邮件告警实例
Apr 28 Python
Python headers请求头如何实现快速添加
Nov 03 Python
Python urllib request模块发送请求实现过程解析
Dec 10 Python
python3.9实现pyinstaller打包python文件成exe
Dec 13 Python
python使用BeautifulSoup 解析HTML
Apr 24 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 #Python
python3+PyQt5+Qt Designer实现扩展对话框
Apr 20 #Python
pandas获取groupby分组里最大值所在的行方法
Apr 20 #Python
pandas多级分组实现排序的方法
Apr 20 #Python
Python PyQt4实现QQ抽屉效果
Apr 20 #Python
Python在groupby分组后提取指定位置记录方法
Apr 20 #Python
PyQt实现界面翻转切换效果
Apr 20 #Python
You might like
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
理清apply(),call()的区别和关系
2011/08/14 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
再探JavaScript作用域
2014/09/24 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
python数据结构之二叉树的建立实例
2014/04/29 Python
python实现得到一个给定类的虚函数
2014/09/28 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
日语专业毕业生求职信
2013/12/04 职场文书
公司管理建议书范文
2014/03/12 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
低碳环保口号
2014/06/12 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
组工干部对照检查材料
2014/08/25 职场文书