Mercurial > hg > config
annotate python/walk.py @ 379:61a3c07e9f7a
kill reject files
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Thu, 25 Jul 2013 03:36:24 -0700 |
| parents | 83928b2f2776 |
| children | b3f75f1361c5 |
| rev | line source |
|---|---|
|
160
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
2 |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
3 import os |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
4 import sys |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
5 |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
6 def all_files(directory): |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
7 filenames = [] |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
8 for dirpath, dirnames, files in os.walk('/home/jhammel/music'): |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
9 filenames.extend([os.path.join(dirpath, f) for f in files]) |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
10 return sorted(filenames) |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
11 |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
12 def main(args=sys.argv[1:]): |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
13 if not args: |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
14 print "Usage: %s directory [directory] [...]" % os.path.basename(sys.argv[0]) |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
15 for arg in args: |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
16 if os.path.isdir(arg): |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
17 for i in all_files(arg): |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
18 print i |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
19 elif os.path.isfile(arg): |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
20 print os.path.abspath(arg) |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
21 else: |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
22 print >> sys.stderr, "'%s' not a file or directory" |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
23 |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
24 if __name__ == '__main__': |
|
83928b2f2776
add file walking example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
25 main() |
