Windows系统列出当前文件夹下树状图目录

方法一 使用shell 直接输出

在要输出目录下按住shift键,然后右击鼠标,就会弹出如下菜单。

 找到“此处打开powershell窗口”,单击打开。

 然后输入如下命令,回车

tree /f > filestruct.txt

就会当下文件夹下生成​​​​​​​一​​​​​​​个​​​​​​​名​​​​​​​称​​​​​​​为filestruct.txt​​​​​​​文件,​​​​​​​文件​​​​​​​中​​​​​​​就是​​​​​​​写​​​​​​​的树状图目录​​​​​​​。​​​​​​​

方法二 用Python自己写一个 (不推荐)

 Python程序会输出当前目录下的所有文件夹与文件的名称,效果如下图。

Python程序会当下目录下生成一个名称filestruct.txt的文件,并文件写入当前目录下的所有文件夹与文件的名称。

import os

filename = "filestruct.txt"#输出文件



def dirswalk(listx,t):
    dirslist = []#
    dirsname = ""#
    flag = 0#
    filetab = ""#
    dirtab = ""#
    if len(listx) > 0:
        for x in range(t):#文件夹前面的空白
            filetab = filetab + " "
        for x in range(t-2):#文件前面的空白
            dirtab = dirtab + " "
        for x in listx:
            if x.count("\\") == 1:#这是一个文件
                if dirsname != x[:x.find("\\")]:
                    dirsname = x[:x.find("\\")]
                    if flag > 0:
                        dirswalk(dirslist,t+2)
                        dirslist.clear()
                    else:
                        flag = 1
                    f.write(dirtab+"|- "+dirsname+"\n")
                f.write(filetab+"|-- "+x[x.rfind('\\')+1:]+"\n")
            else:#这是一个文件夹
                dirslist.append(x[x.find("\\")+1:])
        dirswalk(dirslist,t+2)#进行递归
        
                
print("将当前目录下的所有文件与文件夹结构,输出到当前目录下的:" + filename + "文件中")
filelist = []#所有文件列表
for root,dirs,files in os.walk("./"):#遍历当前文件夹所有文件夹与文件
    for file in files:
        filelist.append(os.path.join(root,file))

dirs = []#文件夹列表
files = []#文件列表
for x in filelist:#
    if x.find('\\') >= 0:#如果这个字符串内有\符号,就说明这是个文件夹
        dirs.append(x[2:])#添加到文件夹列表中
    else:#否则就是文件
        files.append(x[2:])#添加到文件列表中

f = open(filename,"w")#打开文件
f.write(os.path.abspath('')+'\n')#将当前路径写入到文件中
for x in files:
    f.write("|-- "+x+"\n")#将文件名写入到文件中
dirswalk(dirs,2)
f.close()#关闭这个文件

print("完成输出")

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值