#!/usr/bin/env python
# coding: utf-8
import os
import sys
def mktree(path, prefix = '', width = 4, followlinks = True):
if prefix == '':
if os.path.isdir(path):
print '%s/' % path
else:
print path
entries = os.listdir(path)
amount = len(entries)
dirs = []
files = []
for name in entries:
fullname = os.path.join(path, name)
if os.path.isdir(fullname):
dirs.append(name)
else:
files.append(name)
dirs.sort()
files.sort()
seq = 0
for name in dirs:
if seq < amount - 1:
leadchar = '|'
next_prefix = '%s|%s' % (prefix, ' ' * width)
else:
leadchar = '\\'
next_prefix = '%s %s' % (prefix, ' ' * width)
print '%s%s%s%s/' % (prefix, leadchar, '-' * width, name)
mktree(os.path.join(path, name), next_prefix, width = width)
seq += 1
for name in files:
if seq < amount -1:
leadchar = '|'
else:
leadchar = '\\'
print '%s%s%s%s' % (prefix, leadchar, '-' * width, name)
seq += 1
if __name__ == '__main__':
if len(sys.argv) == 1:
path = os.getcwd()
else:
path = sys.argv[1]
mktree(path, followlinks = False)
No comments:
Post a Comment