In [1]:
# generators are extremely useful for recursive search
import os
DIR='/vagrant'
os.listdir(DIR)
Out[1]:
['#Vagrantfile#',
'.git',
'.ipynb_checkpoints',
'.vagrant',
'1 lists.ipynb',
'1 performance.ipynb',
'2 slicing reshaping and stacking.ipynb',
'3 functions in 1d.ipynb',
'3 random data in 1d.ipynb',
'4 images and indexing.ipynb',
'5 functions in 2d.ipynb',
'clouds.ipynb',
'convex hull.ipynb',
'funk_client.py',
'funk_client.py~',
'funk_server.py',
'funk_server.py~',
'ipn',
'islands.ipynb',
'KDTree.ipynb',
'kernel density estimate.ipynb',
'landscape.ipynb',
'LICENSE',
'random 2d.ipynb',
'Random forest regression.ipynb',
'README.md',
'square wave.ipynb',
'talk3',
'talk4',
'talk5',
'talk6',
'Untitled0.ipynb',
'Vagrantfile']
In [2]:
[os.path.join(DIR,entry) for entry in os.listdir(DIR)]
Out[2]:
['/vagrant/#Vagrantfile#',
'/vagrant/.git',
'/vagrant/.ipynb_checkpoints',
'/vagrant/.vagrant',
'/vagrant/1 lists.ipynb',
'/vagrant/1 performance.ipynb',
'/vagrant/2 slicing reshaping and stacking.ipynb',
'/vagrant/3 functions in 1d.ipynb',
'/vagrant/3 random data in 1d.ipynb',
'/vagrant/4 images and indexing.ipynb',
'/vagrant/5 functions in 2d.ipynb',
'/vagrant/clouds.ipynb',
'/vagrant/convex hull.ipynb',
'/vagrant/funk_client.py',
'/vagrant/funk_client.py~',
'/vagrant/funk_server.py',
'/vagrant/funk_server.py~',
'/vagrant/ipn',
'/vagrant/islands.ipynb',
'/vagrant/KDTree.ipynb',
'/vagrant/kernel density estimate.ipynb',
'/vagrant/landscape.ipynb',
'/vagrant/LICENSE',
'/vagrant/random 2d.ipynb',
'/vagrant/Random forest regression.ipynb',
'/vagrant/README.md',
'/vagrant/square wave.ipynb',
'/vagrant/talk3',
'/vagrant/talk4',
'/vagrant/talk5',
'/vagrant/talk6',
'/vagrant/Untitled0.ipynb',
'/vagrant/Vagrantfile']
In [3]:
def dirs(dr):
for entry in os.listdir(dr):
path = os.path.join(dr, entry)
if os.path.isdir(path):
yield path
list(dirs(DIR))
Out[3]:
['/vagrant/.git',
'/vagrant/.ipynb_checkpoints',
'/vagrant/.vagrant',
'/vagrant/talk3',
'/vagrant/talk4',
'/vagrant/talk5',
'/vagrant/talk6']
In [4]:
def tree(dr):
for entry in os.listdir(dr):
path = os.path.join(dr, entry)
if os.path.isdir(path):
for p in tree(path):
yield p
else:
yield path
list(tree(DIR))
Out[4]:
['/vagrant/#Vagrantfile#',
'/vagrant/.git/config',
'/vagrant/.git/description',
'/vagrant/.git/HEAD',
'/vagrant/.git/hooks/applypatch-msg.sample',
'/vagrant/.git/hooks/commit-msg.sample',
'/vagrant/.git/hooks/post-update.sample',
'/vagrant/.git/hooks/pre-applypatch.sample',
'/vagrant/.git/hooks/pre-commit.sample',
'/vagrant/.git/hooks/pre-push.sample',
'/vagrant/.git/hooks/pre-rebase.sample',
'/vagrant/.git/hooks/pre-receive.sample',
'/vagrant/.git/hooks/prepare-commit-msg.sample',
'/vagrant/.git/hooks/update.sample',
'/vagrant/.git/index',
'/vagrant/.git/info/exclude',
'/vagrant/.git/logs/HEAD',
'/vagrant/.git/logs/refs/heads/master',
'/vagrant/.git/logs/refs/remotes/origin/HEAD',
'/vagrant/.git/objects/pack/pack-f8cf48ded75163f0ec78abc2df3ab7b56f98e5b7.idx',
'/vagrant/.git/objects/pack/pack-f8cf48ded75163f0ec78abc2df3ab7b56f98e5b7.pack',
'/vagrant/.git/packed-refs',
'/vagrant/.git/refs/heads/master',
'/vagrant/.git/refs/remotes/origin/HEAD',
'/vagrant/.ipynb_checkpoints/Untitled0-checkpoint.ipynb',
'/vagrant/.vagrant/machines/default/virtualbox/action_provision',
'/vagrant/.vagrant/machines/default/virtualbox/action_set_name',
'/vagrant/.vagrant/machines/default/virtualbox/creator_uid',
'/vagrant/.vagrant/machines/default/virtualbox/id',
'/vagrant/.vagrant/machines/default/virtualbox/index_uuid',
'/vagrant/.vagrant/machines/default/virtualbox/private_key',
'/vagrant/.vagrant/machines/default/virtualbox/synced_folders',
'/vagrant/1 lists.ipynb',
'/vagrant/1 performance.ipynb',
'/vagrant/2 slicing reshaping and stacking.ipynb',
'/vagrant/3 functions in 1d.ipynb',
'/vagrant/3 random data in 1d.ipynb',
'/vagrant/4 images and indexing.ipynb',
'/vagrant/5 functions in 2d.ipynb',
'/vagrant/clouds.ipynb',
'/vagrant/convex hull.ipynb',
'/vagrant/funk_client.py',
'/vagrant/funk_client.py~',
'/vagrant/funk_server.py',
'/vagrant/funk_server.py~',
'/vagrant/ipn',
'/vagrant/islands.ipynb',
'/vagrant/KDTree.ipynb',
'/vagrant/kernel density estimate.ipynb',
'/vagrant/landscape.ipynb',
'/vagrant/LICENSE',
'/vagrant/random 2d.ipynb',
'/vagrant/Random forest regression.ipynb',
'/vagrant/README.md',
'/vagrant/square wave.ipynb',
'/vagrant/talk3/1 knn sklearn.ipynb',
'/vagrant/talk3/2 knn cdist impl.ipynb',
'/vagrant/talk3/3 knn cdist knn impl demo.ipynb',
'/vagrant/talk3/4 knn no cdist.ipynb',
'/vagrant/talk3/5 knn no KDTree (skip).ipynb',
'/vagrant/talk3/6 knn KDTree.ipynb',
'/vagrant/talk3/6 random forest.ipynb',
'/vagrant/talk3/mandelbrot set.ipynb',
'/vagrant/talk3/poly roots.ipynb',
'/vagrant/talk4/.ipynb_checkpoints/0 values variables and objects-checkpoint.ipynb',
'/vagrant/talk4/.ipynb_checkpoints/1 tuples-checkpoint.ipynb',
'/vagrant/talk4/.ipynb_checkpoints/2 lists and slices-checkpoint.ipynb',
'/vagrant/talk4/.ipynb_checkpoints/3 dicts and strings-checkpoint.ipynb',
'/vagrant/talk4/.ipynb_checkpoints/4 functions-checkpoint.ipynb',
'/vagrant/talk4/.ipynb_checkpoints/5 iteration over sequences and dicts-checkpoint.ipynb',
'/vagrant/talk4/.ipynb_checkpoints/6 list comprehensions-checkpoint.ipynb',
'/vagrant/talk4/.ipynb_checkpoints/7 generators and yield-checkpoint.ipynb',
'/vagrant/talk4/0 values variables and objects.ipynb',
'/vagrant/talk4/1 tuples.ipynb',
'/vagrant/talk4/2 lists and slices.ipynb',
'/vagrant/talk4/3 dicts and strings.ipynb',
'/vagrant/talk4/4 functions.ipynb',
'/vagrant/talk4/5 iteration over sequences and dicts.ipynb',
'/vagrant/talk4/6 list comprehensions.ipynb',
'/vagrant/talk4/7 generators and yield.ipynb',
'/vagrant/talk5/.ipynb_checkpoints/classes-checkpoint.ipynb',
'/vagrant/talk5/.ipynb_checkpoints/decorators1-checkpoint.ipynb',
'/vagrant/talk5/.ipynb_checkpoints/exceptions-checkpoint.ipynb',
'/vagrant/talk5/classes.ipynb',
'/vagrant/talk5/decorators1.ipynb',
'/vagrant/talk5/ducktyping.ipynb',
'/vagrant/talk5/exceptions.ipynb',
'/vagrant/talk5/generators1.ipynb',
'/vagrant/talk5/generators2.ipynb',
'/vagrant/talk5/generators3.ipynb',
'/vagrant/talk5/recursion1.ipynb',
'/vagrant/talk6/contextmgr.ipynb',
'/vagrant/talk6/fib_iter.ipynb',
'/vagrant/talk6/Untitled.ipynb',
'/vagrant/talk6/Untitled1.ipynb',
'/vagrant/Untitled0.ipynb',
'/vagrant/Vagrantfile']
Content source: joefutrelle/scipy-talk
Similar notebooks: