diff --git a/clint/utils.py b/clint/utils.py
index <HASH>..<HASH> 100644
--- a/clint/utils.py
+++ b/clint/utils.py
@@ -11,9 +11,29 @@ Various Python helpers used within clint.
 from __future__ import absolute_import
 from __future__ import with_statement
 
-import sys
 import errno
+import os.path
 from os import makedirs
+from glob import glob
+
+
+def expand_path(path):
+    """Expands directories and globs in given path."""
+
+    paths = []
+    path = os.path.expanduser(path)
+    path = os.path.expandvars(path)
+
+    if os.path.isdir(path):
+
+        for (dir, dirs, files) in os.walk(path):
+            for file in files:
+                paths.append(os.path.join(dir, file))
+    else:
+        paths.extend(glob(path))
+
+    return paths
+
 
 
 def is_collection(obj):
@@ -37,17 +57,17 @@ def mkdir_p(path):
 
 def tsplit(string, delimiters):
     """Behaves str.split but supports tuples of delimiters."""
-    
+
     delimiters = tuple(delimiters)
     stack = [string,]
-    
+
     for delimiter in delimiters:
         for i, substring in enumerate(stack):
             substack = substring.split(delimiter)
             stack.pop(i)
             for j, _substring in enumerate(substack):
                 stack.insert(i+j, _substring)
-            
+
     return stack
 
 def schunk(string, size):
add userpath and environ var expansion to expand_path