[python]小练习

119 阅读1分钟

1、使用python实现linux的tree命令功能

# method 1 ########################################
import os                                     
                                              
def getTree(d, n=1):                          
    if n == 1:                                
        print(d)                              
    for i in os.listdir(d):                   
        print("⭐"*5*n+i)                      
        if os.path.isdir(d+"\\"+i):           
            getTree(d+"\\"+i,n+1)             
                                                              
                                              
                             
getTree(input("请输入地址:"))     

# method 2 ########################################
import os

def tree(x, n=1):
    if n == 1:
        lst = list(x.split('\\'))
        print(lst[len(lst)-1])
    # 判断传入的地址是否为文件夹
    if os.path.isdir(x):
        for i in os.listdir(x):
            # 找到文件夹的下一层地址
            new_address = x + "\\" + i
            print("-"*n, i)
            # 如果是文件夹就进入该文件夹再次执行tree(x)函数
            if os.path.isdir(new_address):
                # n+5的作用:使输出产生递进效果
                tree(new_address, n+5)
    else:
        print("输入错误,不是地址")
                                              
                                                               
tree(input("请输入地址:"))