Revision: 68307
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 29, 2014 23:42 by tionazo
Initial Code
import fnmatch import os ############################################ # Find all mp3 files # # # # This script will search for *.mp3 # # files from the rootPath ("/") # # # ############################################ rootPath = '/' pattern = '*.mp3' for root, dirs, files in os.walk(rootPath): for filename in fnmatch.filter(files, pattern): print( os.path.join(root, filename)) ############################################ # Search computer for specific files # # # # This script uses 'os.walk' and # # 'fnmatch' with filters to search # # the hard-drive for all image files # # # ############################################ images = ['*.jpg', '*.jpeg', '*.png', '*.tif', '*.tiff'] matches = [] for root, dirnames, filenames in os.walk("C:\\"): for extensions in images: for filename in fnmatch.filter(filenames, extensions): matches.append(os.path.join(root, filename))
Initial URL
http://www.pythonforbeginners.com/systems-programming/os-walk-and-fnmatch-in-python/
Initial Description
Overview In an earlier post "OS.walk in Python", I described how to use os.walk and showed some examples on how to use it in scripts. In this article, I will show how to use the os.walk() module function to walk a directory tree, and the fnmatch module for matching file names. What is OS.walk? It generates 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). For more information, please see the Python Docs. What is Fnmatch The fnmatch module compares file names against glob-style patterns such as used by Unix shells. These are not the same as the more sophisticated regular expression rules. It's purely a string matching operation. If you find it more convenient to use a different pattern style, for example regular expressions, then simply use regex operations to match your filenames. http://www.doughellmann.com/PyMOTW/fnmatch/ What does it do? The fnmatch module is used for the wild-card pattern matching. Simple Matching fnmatch() compares a single file name against a pattern and returns a boolean indicating whether or not they match. The comparison is case-sensitive when the operating system uses a case-sensitive file system. Filtering To test a sequence of filenames, you can use filter(). It returns a list of the names that match the pattern argument.
Initial Title
Buscar ficheros en el ordenador
Initial Tags
python
Initial Language
Python