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的内存泄漏及gc模块的使用分析
Jul 16 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
python leetcode 字符串相乘实例详解
Sep 03 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
pandas DataFrame创建方法的方式
Aug 02 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
UI自动化定位常用实现方法代码示例
Oct 27 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 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个人网站架设连环讲(三)
2006/10/09 PHP
php上传文件的增强函数
2010/07/21 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
用javascript操作xml
2006/11/04 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
Python内置的字符串处理函数整理
2013/01/29 Python
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
机器学习python实战之手写数字识别
2017/11/01 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
python实现高斯投影正反算方式
2020/01/17 Python
Python 列表反转显示的四种方法
2020/11/16 Python
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
毕业自我评价
2014/02/05 职场文书
广告业务员岗位职责
2014/02/06 职场文书
中考冲刺决心书
2014/03/11 职场文书
食堂标语大全
2014/06/11 职场文书
电子工程求职信
2014/07/17 职场文书
公司离职证明范本(5篇)
2014/09/17 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
golang在GRPC中设置client的超时时间
2021/04/27 Golang
图文详解Nginx版本平滑升级方案
2021/09/15 Servers