python 文件操作,os.path.walk()的回调函数打印文件名

#coding=utf-8

import os
def find_file(arg,dirname,files):
    #for i in arg:
        #print i

for file in files:
        file_path=os.path.join(dirname,file)
        print ‘file_path:‘,file_path
        if os.path.isfile(file_path) and (arg[0] in file or arg[1] in file):
            print ‘file:%s\n‘%file_path

os.path.walk(r‘d:\\test2‘,find_file,(‘.txt‘,‘.png‘))

c:\Python27\Scripts>python task_test.py
file_path: d:\\test2\file1
file_path: d:\\test2\file1.txt
file:d:\\test2\file1.txt

file_path: d:\\test2\file2
file_path: d:\\test2\file1\file2.txt
file:d:\\test2\file1\file2.txt

file_path: d:\\test2\file2\file3
file_path: d:\\test2\file2\file3.txt
file:d:\\test2\file2\file3.txt

file_path: d:\\test2\file2\file3\file4.txt
file:d:\\test2\file2\file3\file4.txt

进一步看每次循环dirname,file都是什么:

#coding=utf-8

import os
def find_file(arg,dirname,files):
    #for i in arg:
        #print i

for file in files:
        print "dirname: %s, file:%s" %(dirname,file)
        file_path=os.path.join(dirname,file)
        print ‘file_path:‘,file_path
        if os.path.isfile(file_path) and (arg[0] in file or arg[1] in file):
            print ‘file:%s\n‘%file_path

os.path.walk(r‘d:\\test2‘,find_file,(‘.txt‘,‘.png‘))

c:\Python27\Scripts>python task_test.py
dirname: d:\\test2, file:file1
file_path: d:\\test2\file1
dirname: d:\\test2, file:file1.txt
file_path: d:\\test2\file1.txt
file:d:\\test2\file1.txt

dirname: d:\\test2, file:file2
file_path: d:\\test2\file2
dirname: d:\\test2\file1, file:file2.txt
file_path: d:\\test2\file1\file2.txt
file:d:\\test2\file1\file2.txt

dirname: d:\\test2\file2, file:file3
file_path: d:\\test2\file2\file3
dirname: d:\\test2\file2, file:file3.txt
file_path: d:\\test2\file2\file3.txt
file:d:\\test2\file2\file3.txt

dirname: d:\\test2\file2\file3, file:file4.txt
file_path: d:\\test2\file2\file3\file4.txt
file:d:\\test2\file2\file3\file4.txt

函数解释:

os.path.walk(top, func, arg)

回调函数(钩子),当一个事件发生时,自动调用指定函数

参数说明:

top:表示需要遍历的目录树的路径

func:表示回调函数,对遍历路径进行处理的函数。所谓回调函数,是作为某个函数的的参数使用,当某个时间触发时,程序将调用定义好的回调函数处理某个任务。该回调函数必须提供3个参数:第1个参数为walk()的参数arg,第2个参数表示目录列表dirname,第3个参数表示文件列表names。

arg:是传递给回调函数func的元组,为回调函数提供处理参数,回调函数的第一个参数就是用来接收这个传入的元组的,参数arg可以为空)

#coding=utf-8

import os

#回调函数

#coding=utf-8

import os

#回调函数

#调find_file函数时(1,2)传给arg,dirname和files是walk函数来传递的

def find_file(arg, dirname, files):

#for i in arg:

#    print i

for file in files:

file_path = os.path.join(dirname, file)

if os.path.isfile(file_path):

print "file:%s" %file_path

#调用

os.path.walk(r"d:\test2", find_file, (1,2))

原文地址:https://www.cnblogs.com/xiaxiaoxu/p/8890831.html

时间: 2024-10-07 04:05:37

python 文件操作,os.path.walk()的回调函数打印文件名的相关文章

python 文件操作 os

全部函数可以用help(os)或是dir(os)查看其用法. 1.重命名:os.rename(old, new) 2.删除:os.remove(file) 3.列出目录下的文件 :os.listdir(path) 4.获取当前工作目录:os.getcwd() 5.改变工作目录:os.chdir(newdir) 6.创建多级目录:os.makedirs(r"c:\python \test") 7.创建单个目录:os.mkdir("test") 8.删除多个目录:os.

关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折腾的序幕 db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp() 稍微查询一下就能了解到 tempfile是一个临时文件模块. 包含了一些临时文件的操作 tempfile.mkstemp() 在很老很老的python版本的时候,第一个参数是

python os.walk()和os.path.walk()

一.os.walk() 函数声明:os.walk(top,topdown=True,onerror=None) (1)参数top表示需要遍历的顶级目录的路径. (2)参数topdown的默认值是“True”表示首先返回顶级目录下的文件,然后再遍历子目录中的文件.当topdown的值为"False"时,表示先遍历子目录中的文件,然后再返回顶级目录下的文件. (3)参数onerror默认值为"None",表示忽略文件遍历时的错误.如果不为空,则提供一个自定义函数提示错误

Python模块详解以及import本质,获得文件当前路径os.path.abspath,获得文件的父目录os.path.dirname,放到系统变量的第一位sys.path.insert(0,x)

模块介绍 1.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test) 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件) 2.导入方法: import module_name 引用脚本里的函数用方法module_name.logger() import module1_name,module2_name 导入多个脚本模块 from module

python标准库-os.path和glob学习

参考博客: http://www.cnblogs.com/vamei/archive/2012/09/05/2671198.html http://www.cnblogs.com/baiqi/p/3951506.html http://www.cnblogs.com/sunnyjiangjie/p/4207063.html 参考资料:Python 2.7.7 documentation 参考工具:http://translate.google.cn/ 设置path = '/home/vamei/

第六章、Python文件操作

第六章.Python文件操作 Python可以对文件进行查看.创建等功能,可以对文件内容进行添加.修改.删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数. 一.Python文件打开方式 文件句柄 = open('文件路径','打开模式') Nginx_Conf = open('nginx.conf','r',encoding='utf-8') Ps:文件句柄相当于于变量名,文件路径可以写为绝对路径

python文件操作glob_os_等对比

Python标准库glob介绍 一. glob模块通配符 通配符 功能 * 匹配0或多个字符 ** 匹配所有文件,目录,子目录和子目录里面的文件 (3.5版本新增) ? 匹配一个字符,这里与正则表达式? (正则?匹配前面表达式0次或者1次) [] 匹配指定范围内的字符,如: [1-9]匹配1至9内的字符 [!] 匹配不在指定范围内的字符 1.通配符 星号(*)匹配零个或多个字符 import glob for name in glob.glob('dir/*'): print (name) di

关于python文件操作

python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r“c:\python”) 检验给出的路径是否是一个文件:os.path.isfile() 检验给出的路径是否是一个目录:os.path.isdir() 判断是否是绝对路径:os.

python 文件操作总结

文件操作对编程语言的重要性不用多说,如果数据不能持久保存,信息技术也就失去了意义.按照本人经验,IO也是蛮头疼的一件事,因为不会用得太多,所以总是记不住API,每次都要重新google就会打断思路,还不一定每次都快速得到正确的文章. 本文内容包括: 文件的读写操作 文件的各种系统操作 存储对象 基于字符read & write 最基本的文件操作当然就是在文件中读写数据.这也是很容易掌握的.现在打开一个文件以进行写操作: 1. fileHandle = open ( 'test.txt', 'w'