大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
早就耳闻python 功能强大,互联网领域运用广泛,Scrapy爬虫框架、OpenStack云存储架构都是用Python实现的。最近下定决心,开始学习Python。先参考网上的demo写一个小例子,实现linux tree命令。
#!/usr/bin/python
import os, sys, string
class XXXTree:
def __init__(self):
pass
def printHelp(self, cmd):
print "Please use the follow cmd"
print " " + cmd + 'dir'
print "e.g"
print " " + cmd + "/root/Kedacom_src"
def getTree(self, dir, op):
list = self.getList(dir, 0, op)
treeList = []
#遍历文件列表,进行格式化输出处理,将处理后的元素添加到treeList中
for i in range(1, len(list)):
fullpath = list[i]
filename = os.path.basename(fullpath)
if(fullpath == dir):
treeList.append(fullpath)
continue
path = fullpath.replace(dir, "")
names = path.split('/')
name = "|-- " + names[len(names)-1]
for tmp in range(1, len(names)-1):
name = " " + name
treeList.append(name)
pos = name.find('&')
if (pos >= 0):
j = i-1
if j >= 0:
name = treeList[j]
if (name[pos] == '&'):
tmp = name.index('|')
name = name[0:tmp] + "`" + name[tmp+1:pos]
treeList[j] = name
for i in range(0, len(treeList)):
print treeList[i]
#递归获取目录下所有的文件,除去隐形文件
def getList(self, dir, layer, op):
list = [ ]
if (layer == 0):list.append(dir)
#对目录下的文件列表进行排序
files = sorted(os.listdir(dir))
for file in files:
if (file[0] == '.'):
continue
file = os.path.join(dir, file)
if os.path.isdir(file):
list.append(file)
list += self.getList(file, layer+1, op)
elif (op == '-d'):
pass
else:
list.append(file)
newfile = file + '&'
pos = list.index(file)
list[pos] = newfile
return list
if (len(sys.argv) < 2):
t = XXXTree()
t.printHelp(sys.argv[0])
else:
t = XXXTree()
dir = None
if (len(sys.argv) == 2):dir = sys.argv[1]
op = None
if (len(sys.argv) == 3):
op = sys.argv[1]
dir = sys.argv[2]
t.getTree(dir, op)
运行结果
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164147.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...