在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数判断文本是否以某个字符开始,endswith()函数判断文本是否以某个字符结束。其返回值为布尔型,为真时返回True,否则返回False。

一、语法结构

以endswith()方法为例:

str.endswith(suffix[, start[, end]])

  • suffix — 该参数可以是一个字符串或者是一个元素This could be a string or could also be a tuple of suffixes to look for.
  • start — 字符串中的开始位置。
  • end — 字符中结束位置。

二、用法

1、startswith()函数

判断一个文本是否以某个或几个字符开始,结果以True或者False返回。

1text='welcome to 361way blog'
2print text.startswith('w')      # True
3print text.startswith('wel')    # True
4print text.startswith('c')      # False
5print text.startswith('')       # True

2、endswith()函数

1#!/usr/bin/python
2str = "this is string example....wow!!!"
3suffix = "wow!!!"
4print str.endswith(suffix)
5print str.endswith(suffix,20)
6suffix = "is"
7print str.endswith(suffix, 2, 4)
8print str.endswith(suffix, 2, 6)

三、示例应用

1、判断文件是否为exe执行文件

1# coding=utf8
2fileName1='361way.exe'
3if(fileName1.endswith('.exe')):
4    print '这是一个exe执行文件'
5else:
6    print '这不是一个exe执行文件'

2、判断文件名后缀是否为图片

1# coding=utf8
2fileName1='pic.jpg'
3if fileName1.endswith('.gif') or fileName1.endswith('.jpg') or fileName1.endswith('.png'):
4    print '这是一张图片'
5else:
6    print '这不是一张图片'

注:第四行的判断可以缩写为if filename.endswith((‘.gif’, ‘.jpg’, ‘.png’)): ,效果是一样的。

3、结合OS模块查找当前目录下的所有txt文件

1import os
2items = os.listdir(".") newlist = []
3for names in items:
4    if names.endswith(".txt"):
5        newlist.append(names)
6print newlist