检查字符串中的结束标记

使用的模块为itertools,在其中主要使用的方法是itertools.imap(function,iter1,iter2...itern),此方法的主要就是返回一个迭代器,其中返回的项为function(iter1,iter2,..itern),返回的长度主要看最短的iter的长度,如果function为None,那么将返回由(iter1,iter2,..itern)组成的元组。

具体的示例如下:

>>> from itertools import imap #导入itertools中的imap方法
>>> d = imap(pow,(2,3,1),(1,2,3))#当长度相同时,那么就会返回function(iter1,iter2)的值组成的迭代器
>>> for i in d:
...     print i
... 
2
9
1
>>> d = imap(pow,(2,3,1),(1,2))#当长度不同时,依短的iter长度而定,返回一个function(iter1,iter2)的值组成的迭代器
>>> for i in d :
...     print i 
... 
2
9
>>> d = imap(None,(1,2,3),(1,2))#当function为None时,那么将返回由(iter1,iter2)元组组成的迭代器,长度依短的而定
>>> for i in d:
...     print i 
... 
(1, 1)
(2, 2)


检查字符串的结束标记主要是使用endswith方法,但是如果有多个标记进行检查,那么就会写出多个判断,例如s.endswith('.jpeg'),s.endswith('gif')

主要检查字符串结束标记代码如下:

from itertools import imap #导入使用的模块,itertools.imap
def anyTrue(function,seq):#定义一个辅助函数,绑定的方法为第一个参数,第二个参数为一个序列
    return True in imap(function,seq)
def endsWith(s,*endings): #定义一个判断结尾的函数,在返回值中使用了s.endswith,然后第二个参数为一个列表
    return anyTrue(s.endswith,ending)

测试代码如下:

import os
for filename in os.listdir('.'): #当前目录下的文件名称
    if endsWith(filename,['.jpeg','gif','jpg']) #选取后缀名称为图像的文件,最后打印文件名
        print filename


结果如下:

[root@python 330]# python getPic.py 
kel.jpeg
kel.gif
kel.jpg






for linux and python
原文地址:https://www.cnblogs.com/kellyseeme/p/5525058.html