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复制与引用用法分析
Apr 08 Python
python读写ini配置文件方法实例分析
Jun 30 Python
Python的iOS自动化打包实例代码
Nov 22 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 Python
Pandas时间序列基础详解(转换,索引,切片)
Feb 26 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
python3.7添加dlib模块的方法
Jul 01 Python
快速创建python 虚拟环境
Nov 28 Python
Python-split()函数实例用法讲解
Dec 18 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
May 14 Python
详解Python描述符的工作原理
Jun 11 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实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
在网页里看flash的trace数据的js类
2009/01/10 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
外企办公室竞聘演讲稿
2013/12/29 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
无毒社区工作方案
2014/05/23 职场文书
组织鉴定材料
2014/06/02 职场文书
学校标语大全
2014/06/19 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
党委工作总结2015
2015/04/27 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
办公室规章制度范本
2015/08/04 职场文书
小学记事作文之200字
2019/08/06 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书