当前位置:  编程技术>python

Python 过滤字符串的技巧,map与itertools.imap

    来源: 互联网  发布时间:2014-09-04

    本文导语:  具体的实例 我们需要在目录中遍历,包括子目录(哈哈),找出所有后缀为:rmvb ,avi ,pmp 的文件。(天哪?!你要干什么?这可是我的隐私啊~~) 代码如下:import os def anyTrue(predicate, sequence): return True in map(predicate, sequence...

具体的实例
我们需要在目录中遍历,包括子目录(哈哈),找出所有后缀为:rmvb ,avi ,pmp 的文件。(天哪?!你要干什么?这可是我的隐私啊~~)
代码如下:

import os

def anyTrue(predicate, sequence):
return True in map(predicate, sequence)

def filterFiles(folder, exts):
for fileName in os.listdir(folder):
if os.path.isdir(folder + '/' + fileName):
filterFiles(folder + '/' + fileName, exts)
elif anyTrue(fileName.endswith, exts):
print fileName

exts = ['.rmvb', '.avi', '.pmp']
filterFiles('/media/Personal/Movie', exts)

输出结果
来看看有什么好东东:
[66影视www.66ys.cn]迷失第四季04.rmvb
[迷失.第4季].Lost.S04E00.rmvb
[迷失Lost第四季][第02集][中文字幕].rmvb
《迷失Lost第四季》第05集[中文字幕].rmvb
《迷失Lost第四季》第06集[中文字幕].rmvb
《迷失Lost第四季》第07集[中文字幕].rmvb
天赐第2季01.rmvb
天赐第2季02.rmvb
天赐第2季03.rmvb
天赐第2季04.rmvb
天赐第2季05.rmvb
影视帝国(bbs.cnxp.com).美丽心灵.A.Beautiful.Mind.2001.CD1.rmvb
( ... 太多了,不要全输出来吧~~)


扩展
CookBook一书中,提供的是itertools.imap来实现对字符串的过滤。imap和map不同的是,imap返回的是一个iteration对象,而map返回的是一个list对象。代码如下:
import itertools
def anyTrue(predicate, sequence):
return True in itertools.imap(predicate, sequence)
def endsWith(s, *endings):
return anyTrue(s.endswith, endings)
imap 等价于:
def imap(function, *iterables):
iterables = map(iter, iterables)
while True:
args = [i.next() for i in iterables]
if function is None:
yield tuple(args)
else:
yield function(*args)

    
 
 

您可能感兴趣的文章:

  • Python不使用print而直接输出二进制字符串
  • C++中的Python字符串处理 pyString
  • Python中实现json字符串和dict类型的互转
  • python 字符串split的用法分享
  • Python将日期时间按照格式转换成字符串
  • Python 字符串中的字符倒转
  • python字符串格式化输出及相关操作代码举例
  • Python 连接字符串(join %)
  • Python中类似printf的字符串格式化详解
  • python字符串排序方法
  • python list 合并连接字符串的方法
  • python去掉字符串中重复字符的方法
  • Python 字符串定义
  • python 将字符串转换成字典dict
  • python中将字典转换成其json字符串
  • python字符串替换示例
  • Python 执行字符串表达式函数(eval exec execfile)
  • python字符串连接方式汇总
  • Python去掉字符串中空格的方法
  • Python中实现字符串类型与字典类型相互转换的方法
  • python实现从字符串中找出字符1的位置以及个数的方法
  • python 排列组合之itertools
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python字符遍历的艺术
  • Python 匹配任意字符(包括换行符)的正则表达式写法
  • python 输出一个两行字符的变量
  • Python字符转换
  • 从零学python系列之教你如何根据图片生成字符画
  • python每次处理固定个数的字符的方法总结
  • python抓取网页时字符集转换问题处理方案分享
  • Python中还原JavaScript的escape函数编码后字符串的方法
  • python 正则式 概述及常用字符
  • python 中文字符串的处理实现代码
  • 利用perl、python、php、shell、sed、awk、c 实现字符串的翻转
  • python 正则表达式 概述及常用字符
  • Python内置的字符串处理函数整理
  • Python字符串的encode与decode研究心得乱码问题解决方法
  • Python内置的字符串处理函数详细整理(覆盖日常所用)
  • python 字符串格式化代码
  • python使用正则搜索字符串或文件中的浮点数代码实例
  • python字符串加密解密的三种方法分享(base64 win32com)
  • Python不规范的日期字符串处理类
  • Python 字符串操作方法大全
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • python异常信息堆栈输出到日志文件
  • 使用setup.py安装python包和卸载python包的方法
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • python读取csv文件示例(python操作csv)
  • Python获取网页编码的方法及示例代码
  • python基础教程之python消息摘要算法使用示例
  • Python异常模块traceback用法举例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3