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 30 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
Python实现程序判断季节的代码示例
Jan 28 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
Python日期格式和字符串格式相互转换的方法
Feb 18 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
Mar 06 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
python def 定义函数,调用函数方式
Jun 02 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 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把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
PHP常用数组函数介绍
2014/07/28 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
jquery.validate使用详解
2016/06/02 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
javascript实现考勤日历功能
2018/11/29 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python的Django框架中settings文件的部署建议
2015/05/30 Python
python中使用序列的方法
2015/08/03 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
django+mysql的使用示例
2018/11/23 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
护理自荐信
2013/10/22 职场文书
甲方资料员岗位职责
2013/12/13 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
2014年科普工作总结
2014/12/06 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技