]> gitweb.michael.orlitzky.com - dead/census-tools.git/blobdiff - src/FileUtils.py
Added the find_file_paths function to the FileUtils module.
[dead/census-tools.git] / src / FileUtils.py
index 2b89adf35365e589ef405e41dbcf3935d17222a0..cf2df4e897c73f50b7e7bff88ef4e5af0c5d893f 100644 (file)
@@ -27,3 +27,24 @@ def mkdir_p(path, mode):
     except:
         pass
     
+
+
+def find_file_paths(root, target_filename, return_first = False):
+    """
+    Search beneath root for files named target_filename. If
+    return_first is True, then return as soon as a match is
+    found. Otherwise, return once all matching paths have been
+    found. Either way, the result is a list containing all matched
+    paths (even if we only matched one).
+    """
+    found_files = []
+    
+    for folder, subfolders, files in os.walk(root):
+        for f in files:
+            if (f == target_filename):
+                if return_first:
+                    return [os.path.join(folder, f)]
+                else:
+                    found_files.append(os.path.join(folder, f))
+
+    return found_files