DoingSomethingWithAllFilesInaDirectory: Difference between revisions

From XPUB & Lens-Based wiki
 
(imported to nmm trac)
 
Line 1: Line 1:
'''IMPORTED'''
You want to do something repeatedly to all the files (or maybe all files with a certain extension) in a directory, no matter how "deep" inside folders those files may be.
You want to do something repeatedly to all the files (or maybe all files with a certain extension) in a directory, no matter how "deep" inside folders those files may be.



Latest revision as of 17:19, 22 September 2009

IMPORTED

You want to do something repeatedly to all the files (or maybe all files with a certain extension) in a directory, no matter how "deep" inside folders those files may be.

From the commandline, you can use the wonderful(ly cryptic and difficult) find command, together with the "exec" option:

find . -name "*.py" -exec echo {} \;


In Python, you can use the os.walk function:

#!python numbers=off
import os.path
for (dirpath, dirnames, filenames) in os.walk("."):
	for f in filenames:
		#if f.endswith(".py"):
		print os.path.join(dirpath,f)

src: http://docs.python.org/lib/os-file-dir.html#l2h-2715