gyts62 发表于 2018-8-8 12:19:57

python 精练(1)

#/usr/bin/python env  from os import listdir , sep
  from os.path import abspath, basename, isdir
  from sys import argv
  def tree(dir, padding, print_files=False):
  print padding[:-1] + '+-' + basename(abspath(dir)) + '/'
  padding = padding + ' '
  files = []
  if print_files:
  files = listdir(dir)
  else:
  files = [ x for x in listdir(dir) if isdir(dir + sep +x)]
  count = 0
  for file in files:
  count +=1
  print padding + '|'
  path = dir + sep + file
  if isdir(path):
  if count == len(files):
  tree(path, padding + ' ', print_files)
  else:
  tree(path, padding + '|', print_files)
  else:
  print padding + '+-' + file
  def usage():
  return '''Usage: %s [-f] <path>
  print tree structure of path specified.
  options:
  -f         print files as well as directories
  path      path to process'''% basename(argv)
  def main():
  if len(argv) == 1:
  print usage()
  elif len(argv) == 2:
  path = argv
  if isdir(path):
  tree(path, ' ')
  else:
  print 'ERROR: \'' + path + '\' is not a diretory'
  elif len(argv) == 3 and argv == '-f':
  path = argv
  if isdir(path):
  tree(path, ' ', True)
  else:
  print 'ERROR: \'' + path + ' \' is not   a dirctory'
  else:
  print usage()
  if __name= '__main__':
  main()
  #较长的代码必须要有main()主方法。
页: [1]
查看完整版本: python 精练(1)