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 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 Python
python寻找list中最大值、最小值并返回其所在位置的方法
Jun 27 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
分析经典Python开发工程师面试题
Apr 08 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
Python3 列表,数组,矩阵的相互转换的方法示例
Aug 05 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
实例代码讲解Python 线程池
Aug 24 Python
如何基于Python实现word文档重新排版
Sep 29 Python
使用python实现学生信息管理系统
Feb 25 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函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
php命名空间学习详解
2014/02/27 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
Symfony生成二维码的方法
2016/02/04 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
Vue项目环境搭建详细总结
2019/09/26 Javascript
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
Django实现跨域的2种方法
2019/07/31 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
运动会广播稿500字
2014/01/28 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
青年志愿者活动总结
2014/04/26 职场文书
自我检讨书怎么写
2015/05/07 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL