chain.from_iterable实现同时walk多个目录

chain.from_iterable实现同时walk多个目录:

注:
1、注意多个目录的写格式:(‘aa/bb‘,‘cc/dd‘)
2、注意chain for的写格式:for root,dirs,files in chain.from_iterable(os.walk(root) for root in dirr):
3、该脚本的作用是从多目录下找出含有Images目录并且更新日期在24小时内的部分

vi a1.py

#!/usr/bin/python

import os
import time
from itertools import chain

dir="/home"

dirr=(‘aa/bb‘,‘cc/dd‘)

now = time.time()

os.chdir(dir)

for root,dirs,files in chain.from_iterable(os.walk(root) for root in dirr):
for f in dirs:
if f == "Images":
if os.path.getmtime(os.path.join(root,f)) > (now - 86400):
print os.path.join(root,f)
:wq

python a1.py

原文地址:http://blog.51cto.com/yangzhiming/2126425

时间: 2024-10-26 01:11:35

chain.from_iterable实现同时walk多个目录的相关文章

python walk历遍目录

import osimport fnmatch def is_file_match(filename, patterns): for pattern in patterns: if fnmatch.fnmatch(filename, pattern): return True return False def find_specific_files(root, patterns=['*'], exclude_dir=[]): for root, dirnames, filenames in os

golang filepath.Walk遍历指定目录下的所有文件

package main import ( "fmt" "os" "path/filepath" ) func walkFunc(path string, info os.FileInfo, err error) error { fmt.Printf("%s\n", path) return nil } func main() { //遍历打印所有的文件名 filepath.Walk("C:/Documents an

将目录下所有文件名修改为统一格式

最初的文件名格式 修改后的文件名格式 代码: import os import sys path = "/home/bnrc/formatm/train" count = 0 for (path,dirs,files) in os.walk(path): for filename in files: count += 1 first_name = filename.strip().split('.jpg')[0] new_name = first_name + '_boxes.mat'

[Python]学习基础篇:文件和目录

文件 文件是数据在外部介质上的数据的集合,对于文件在Linux系统上包括普通文件,目录文件,二进制文件,设备文件等. 文件的打开或者创建 方法:open('file_name','打开方式'[,buf_size]) buf_size:参数指的是文件缓存区的大小,0代表不缓存,1代表缓存,使用系统默认设置的缓存区大小,大于1代表缓存大小. 打开方式:如下表 打开方式 说明 'r' 只读的方式打开文件,若文件不存在,则产生异常 'r+' 以读写的方式方式打开文件,不删除原内容,若文件不存在,产生异常

关于搜索全部文件和修改文件名的方法os.walk() 和os.listdir

os.walk()遍历所有的文件并列出各级,os.listdir()只列出当前文件下的条目,一个列表 1.os.walk() 大材小用. import os path = 'j:\\juypter\\爬虫\\百度图片\\' for dirnames, subnames, files in os.walk(path):#父目录,子目录,文件名称 for file in files:#只取files里的文件名,不含目录 new_name = '美女' + file os.rename(path +

os.walk简介

os.walk 转载文章 os.walk的参数如下: os.walk(top, topdown=True, onerror=None, followlinks=False) 其中: top是要遍历的目录. topdown是代表要从上而下遍历还是从下往上遍历. onerror可以用来设置当便利出现错误的处理函数(该函数接受一个OSError的实例作为参数),设置为空则不作处理. followlinks表示是否要跟随目录下的链接去继续遍历,要注意的是,os.walk不会记录已经遍历的目录,所以跟随链

Python的os模块的一些常见文件和目录操作

转自:极客学院 Python 的 os 模块封装了常见的文件和目录操作,本文只列出部分常用的方法,更多的方法可以查看官方文档. 下面是部分常见的用法: 方法 说明  os.mkdir  创建目录 os.rmdir  删除目录  os.rename  重命名 os.remove 删除文件  os.getcwd 获取当前工作路径 os.walk 遍历目录 os.path.join 连接目录与文件名 os.path.split 分割文件名与目录 os.path.abspath 获取绝对路径 os.pa

59个Python使用技巧,从此你的Python与众不同!

今天给大家分享几个Python使用的小技巧,原文来自于Python 技巧总结,进行了细微的调整,感谢作者! 1. 枚举 - enumerate 可以有参数哦 之前我们这样操作: i = 0for item in iterable: print i, item i += 1 现在我们这样操作: for i, item in enumerate(iterable):  print i, item enumerate函数还可以接收第二个参数.就像下面这样: >>> list(enumerate

Python 可迭代的对象、迭代器和生成器

迭代是数据处理的基石.扫描内存中放不下的数据集时,我们要找到一种惰性获取数据项的方式,即按需一次获取一个数据项.这就是迭代器模式(Iterator pattern). p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 25.0px Helvetica } Sentence类第1版:单词序列 我们要实现一个 Sentence 类,以此打开探索可迭代对象的旅程.我们向这个类的构造方法传入包含一些文本的字符串,然后可以逐个单词迭代.第 1 版要实现序列协议,这