From Media Design: Networked & Lens-Based wiki
Jump to navigation Jump to search

Doing "something" with all files in a directory

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 command-line, you can use the wonderful(ly cryptic and difficult) find command, together with the "exec" option:

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

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

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