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 相关文章推荐
Python3里的super()和__class__使用介绍
Apr 23 Python
详解Python中的array数组模块相关使用
Jul 05 Python
Python 类的继承实例详解
Mar 25 Python
python批量复制图片到另一个文件夹
Sep 17 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
python爬虫的一个常见简单js反爬详解
Jul 09 Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 Python
浅谈PyTorch中in-place operation的含义
Jun 27 Python
Python操作MySQL数据库的示例代码
Jul 13 Python
基于Python的图像阈值化分割(迭代法)
Nov 20 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 03 Python
python数据分析之单因素分析线性拟合及地理编码
Jun 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 Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
用PHP代码给图片加水印
2015/07/01 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
javascript 获取图片颜色
2009/04/05 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
python套接字流重定向实例汇总
2016/03/03 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
以下的初始化有什么区别
2013/12/16 面试题
网络安全方面的面试题
2015/11/04 面试题
春风行动实施方案
2014/03/28 职场文书
学雷锋标语
2014/06/25 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
学校2014年度工作总结
2014/12/06 职场文书
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python
muduo TcpServer模块源码分析
2022/04/26 Redis