comparison python/walk.py @ 810:0afeb265da7f

fix formatting bug
author Jeff Hammel <k0scist@gmail.com>
date Fri, 28 Oct 2016 17:33:35 -0700
parents b3f75f1361c5
children
comparison
equal deleted inserted replaced
809:b3f75f1361c5 810:0afeb265da7f
2 2
3 """ 3 """
4 illustration of walking a directory structure 4 illustration of walking a directory structure
5 """ 5 """
6 6
7 # imports
7 import argparse 8 import argparse
8 import os 9 import os
9 import sys 10 import sys
11
12
13 def ensure_dir(path):
14 """ensures `path` is a directory"""
15 return os.path.isdir(path)
16
10 17
11 def all_files(directory): 18 def all_files(directory):
12 filenames = [] 19 filenames = []
13 for dirpath, dirnames, files in os.walk('/home/jhammel/music'): 20 for dirpath, dirnames, files in os.walk('/home/jhammel/music'):
14 filenames.extend([os.path.join(dirpath, f) for f in files]) 21 filenames.extend([os.path.join(dirpath, f) for f in files])
16 23
17 24
18 def main(args=sys.argv[1:]): 25 def main(args=sys.argv[1:]):
19 """CLI""" 26 """CLI"""
20 27
28
29 # parse command line
30
31 # sanity
21 if not args: 32 if not args:
22 print "Usage: %s directory [directory] [...]" % os.path.basename(sys.argv[0]) 33 print "Usage: %s directory [directory] [...]" % os.path.basename(sys.argv[0])
34
35 # process command line
23 for arg in args: 36 for arg in args:
24 if os.path.isdir(arg): 37 if os.path.isdir(arg):
25 for i in all_files(arg): 38 for i in all_files(arg):
26 print i 39 print i
27 elif os.path.isfile(arg): 40 elif os.path.isfile(arg):
28 print os.path.abspath(arg) 41 print os.path.abspath(arg)
29 else: 42 else:
30 print >> sys.stderr, "'%s' not a file or directory" 43 sys.stderr.write("'%s' not a file or directory\n" % arg)
44
31 45
32 if __name__ == '__main__': 46 if __name__ == '__main__':
33 main() 47 main()