Mercurial > hg > config
comparison python/walk.py @ 809:b3f75f1361c5
minor mostly formatting fixes
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Fri, 28 Oct 2016 17:27:32 -0700 |
parents | 83928b2f2776 |
children | 0afeb265da7f |
comparison
equal
deleted
inserted
replaced
808:48ea50d346de | 809:b3f75f1361c5 |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 """ | |
4 illustration of walking a directory structure | |
5 """ | |
6 | |
7 import argparse | |
3 import os | 8 import os |
4 import sys | 9 import sys |
5 | 10 |
6 def all_files(directory): | 11 def all_files(directory): |
7 filenames = [] | 12 filenames = [] |
8 for dirpath, dirnames, files in os.walk('/home/jhammel/music'): | 13 for dirpath, dirnames, files in os.walk('/home/jhammel/music'): |
9 filenames.extend([os.path.join(dirpath, f) for f in files]) | 14 filenames.extend([os.path.join(dirpath, f) for f in files]) |
10 return sorted(filenames) | 15 return sorted(filenames) |
11 | 16 |
17 | |
12 def main(args=sys.argv[1:]): | 18 def main(args=sys.argv[1:]): |
19 """CLI""" | |
20 | |
13 if not args: | 21 if not args: |
14 print "Usage: %s directory [directory] [...]" % os.path.basename(sys.argv[0]) | 22 print "Usage: %s directory [directory] [...]" % os.path.basename(sys.argv[0]) |
15 for arg in args: | 23 for arg in args: |
16 if os.path.isdir(arg): | 24 if os.path.isdir(arg): |
17 for i in all_files(arg): | 25 for i in all_files(arg): |
18 print i | 26 print i |
19 elif os.path.isfile(arg): | 27 elif os.path.isfile(arg): |
20 print os.path.abspath(arg) | 28 print os.path.abspath(arg) |
21 else: | 29 else: |
22 print >> sys.stderr, "'%s' not a file or directory" | 30 print >> sys.stderr, "'%s' not a file or directory" |
23 | 31 |
24 if __name__ == '__main__': | 32 if __name__ == '__main__': |
25 main() | 33 main() |