Linux用树形结构显示目录结构
2009-02-23 08:22
645 查看
在有些Linux上自带了tree命令来一树状结构显示一个目录,但是在有些linux上没有自带这个程序,所以这里用python写了一个小程序来实现这个功能,代码如下:
运行效果如下:
$ ./xxtree.py /home/fkong/workspace/jutility/.svn
/home/fkong/workspace/jutility/.svn
|---format
|---props
|---entries
|---prop-base
|---text-base
|---tmp
| |---prop-base
| |---props
| `---text-base
`---all-wcprops
#!/usr/bin/python import os, sys, string class XXTree: def __init__(self): pass def printHelp(self, cmd): print 'Please use the following cmd:' print ' ' + cmd + ' dir' print 'e.g.' print ' ' + cmd + ' /home/fkong/tmp' def getTree(self, dir): list = self.getList(dir, 0) treelist = [] for i in range(0, len(list)): fullpath = list[i] parpath = os.path.dirname(list[i]) filename = os.path.basename(list[i]) if(fullpath == dir): treelist.append(fullpath) continue path = fullpath.replace(dir, "") names = path.split("/") name = "`---" + names[len(names) - 1] for j in range(1, len(names) - 1): name = " " + name treelist.append(name) pos = name.index("`") j = i - 1 while j > 0: name = treelist[j] if(name[pos] == '`' or name[pos] == ' '): name = name[0: pos] + "|" + name[pos + 1: len(name)] treelist[j] = name else: break j = j - 1 for i in range(0, len(treelist)): print treelist[i] def getList(self, dir, layer): list = [] if layer == 0: list.append(dir) files = os.listdir(dir) for file in files: file = os.path.join(dir, file) if os.path.isdir(file): list.append(file) list += self.getList(file, layer + 1) else : list.append(file) return list if len(sys.argv) != 2: t = XXTree() t.printHelp(sys.argv[0]) else: t = XXTree() dir = sys.argv[1] t.getTree(dir)
运行效果如下:
$ ./xxtree.py /home/fkong/workspace/jutility/.svn
/home/fkong/workspace/jutility/.svn
|---format
|---props
|---entries
|---prop-base
|---text-base
|---tmp
| |---prop-base
| |---props
| `---text-base
`---all-wcprops
相关文章推荐
- linux--tree命令以树形结构显示文件目录结构
- 【转】linux tree命令以树形结构显示文件目录结构 ---- 不错
- linux下怎么用tree命令以树形结构显示文件目录结构?
- linux 以树形结构显示目录
- Linux/Ubuntu tree 命令以树形结构显示文件夹目录结构
- linux 以树形结构显示目录
- linux 如何以树形结构显示文件目录结构
- Linux/Ubuntu tree 命令以树形结构显示文件夹目录结构
- Linux用树形结构显示目录结构
- Python实现 Linux tree命令:用树形结构显示目录结构
- linux 用树形命令tree 显示文件目录结构及处理CRT显示乱码问题
- linux下怎么用tree命令以树形结构显示文件目录结构?
- tree:以树形结构显示目录下的内容
- C#递归算法-遍历XML文件,以UL列表显示树形结构目录
- Python显示目录的树形结构
- 打印一个目录,并以树形结构显示
- Linux显示文件树形结构信息的小程序
- linux命令--tree显示文件目录结构
- win tree命令 tree导出目录 tree显示树形结构