python之os.walk()的使用实例
2013-03-22 14:31
671 查看
1.os.walk(top, topdown=True, onerror=None, followlinks=False) Generate the file names in a directory tree by walking the tree either top-down or bottom-up. For each directory in the tree rooted at directory top (including top itself), it yields a 3-tuple (dirpath, dirnames, filenames). dirpath is a string, the path to the directory. dirnames is a list of the names of the subdirectories in dirpath (excluding '.' and '..'). filenames is a list of the names of the non-directory files in dirpath. Note that the names in the lists contain no path components. To get a full path (which begins with top) to a file or directory in dirpath, do os.path.join(dirpath, name). If optional argument topdown is True or not specified, the triple for a directory is generated before the triples for any of its subdirectories (directories are generated top-down). If topdown is False, the triple for a directory is generated after the triples for all of its subdirectories (directories are generated bottom-up). When topdown is True, the caller can modify the dirnames list in-place (perhaps using del or slice assignment), and walk() will only recurse into the subdirectories whose names remain in dirnames; this can be used to prune the search, impose a specific order of visiting, or even to inform walk() about directories the caller creates or renames before it resumes walk() again. Modifying dirnames when topdown is False is ineffective, because in bottom-up mode the directories in dirnames are generated before dirpath itself is generated. By default, errors from the listdir() call are ignored. If optional argument onerror is specified, it should be a function; it will be called with one argument, an OSError instance. It can report the error to continue with the walk, or raise the exception to abort the walk. Note that the filename is available as the filename attribute of the exception object. By default, walk() will not walk down into symbolic links that resolve to directories. Set followlinks to True to visit directories pointed to by symlinks, on systems that support them.
实例:
This example displays the number of bytes taken by non-directory files in each directory under the starting directory, except that it doesn’t look under any CVS subdirectory: import os from os.path import join, getsize for root, dirs, files in os.walk('python/Lib/email'): print root, "consumes", print sum(getsize(join(root, name)) for name in files), print "bytes in", len(files), "non-directory files" if 'CVS' in dirs: dirs.remove('CVS') # don't visit CVS directories In the next example, walking the tree bottom-up is essential: rmdir() doesn’t allow deleting a directory before the directory is empty: # Delete everything reachable from the directory named in "top", # assuming there are no symbolic links. # CAUTION: This is dangerous! For example, if top == '/', it # could delete all your disk files. import os for root, dirs, files in os.walk(top, topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name))
相关文章推荐
- Python 3 os.walk使用详解
- python 获取文件下所有文件或目录os.walk()的实例
- python使用os.walk获取文件夹的大小-一行代码
- python使用os模块的os.walk遍历文件夹示例
- python使用os模块的os.walk遍历文件夹
- python使用os.walk和os.path.join来遍历文件夹的文件(包括子文件夹下的文件)
- python使用os.listdir和os.walk获得文件的路径的方法
- 使用python的os.walk()包来监测文件变化
- 使用os.walk()方法 分类: python 小练习 2013-08-14 10:52 1465人阅读 评论(0) 收藏
- Python标准库os.path包、glob包使用实例
- Python 3 os.walk使用详解
- python使用os.walk和os.path.join来遍历文件夹的文件(包括子文件夹下的文件)
- Python 3 os.walk使用详解
- python-os.walk()使用举例
- 【python】如何批量读取文件夹的所有文件数据,os模块与open函数结合使用实例
- python使用os.walk和os.path.join来遍历文件夹的文件(包括子文件夹下的文件)
- Python标准库os.path包、glob包使用实例
- python学习笔记之--os.walk使用
- python使用os模块的os.walk遍历文件夹示例
- Python中OS模块使用说明