I want a dictionary of files:
files = [files for (subdir, dirs, files) in os.walk(rootdir)] But I get,
files = [['filename1', 'filename2']] when I want
files = ['filename1', 'filename2'] How do I prevent looping through that tuple? Thanks!
I want a dictionary of files:
files = [files for (subdir, dirs, files) in os.walk(rootdir)] But I get,
files = [['filename1', 'filename2']] when I want
files = ['filename1', 'filename2'] How do I prevent looping through that tuple? Thanks!
Both of these work:
[f for (subdir, dirs, files) in os.walk(rootdir) for f in files] sum([files for (subdir, dirs, files) in os.walk(rootdir)], []) Sample output:
$ find /tmp/test /tmp/test /tmp/test/subdir1 /tmp/test/subdir1/file1 /tmp/test/subdir2 /tmp/test/subdir2/file2 $ python >>> import os >>> rootdir = "/tmp/test" >>> [f for (subdir, dirs, files) in os.walk(rootdir) for f in files] ['file1', 'file2'] >>> sum([files for (subdir, dirs, files) in os.walk(rootdir)], []) ['file1', 'file2'] for (subdir, dirs, f) in os.walk(rootdir): files.extend(f) files = [].