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连接mysql数据库的正确姿势
Feb 03 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
python中Apriori算法实现讲解
Dec 10 Python
python实现机器学习之元线性回归
Sep 06 Python
pandas通过loc生成新的列方法
Nov 28 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
Feb 11 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
Jun 17 Python
详解python中的index函数用法
Aug 06 Python
Python爬虫 urllib2的使用方法详解
Sep 23 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
Python开发.exe小工具的详细步骤
Jan 27 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执行速率优化技巧小结
2008/03/15 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
网页javascript精华代码集
2007/01/24 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
js简单抽奖代码
2015/01/16 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
[01:55]《走出家门看比赛》——DOTA2 2015国际邀请赛同城线下观战
2015/07/18 DOTA
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
python中pip的安装与使用教程
2018/08/10 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
Python实现Event回调机制的方法
2019/02/13 Python
python用opencv完成图像分割并进行目标物的提取
2020/05/25 Python
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
求职自荐信范文格式
2013/11/29 职场文书
优秀导游先进事迹材料
2014/01/25 职场文书
培训自我鉴定
2014/01/31 职场文书
财务检查整改报告
2014/11/06 职场文书
2014年除四害工作总结
2014/12/06 职场文书
商场收银员岗位职责
2015/04/07 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
pytorch 如何使用batch训练lstm网络
2021/05/28 Python