hustlzp 发表于 2019-1-8 22:12

【Python】【笔记】利用递归10行代码打印文件夹的树状结构

本帖最后由 hustlzp 于 2019-1-9 08:43 编辑

import os,sys
# sys.setrecursionlimit(10000)# 设置递归深度为10000层
def listdir(path,leval=0):
    cur_path = os.listdir(path)
    for i in cur_path:
      print('|——'*(leval + 1) + i)
      if os.path.isdir(path+os.sep+i):
            listdir(path+os.sep+i,leval+1)

mypath = 'C:'+os.sep+'SpeedPan'
#或者直接 mypath='C:/SpeedPan'
print(mypath)
listdir(mypath)

# C:\SpeedPan
# |——7z.dll
# |——aria2.conf
# |——aria2c.exe
# |——config.ini
# |——DebugInfo.txt
# |——download-complete.wav
# |——encode.dll
# |——history_json.pan
# |——libeay32.dll
# |——LiveUpdate.exe
# |——skin
# |——|——default.sskn
# |——|——guo qing.sskn
# |——|——guoqing.sskn
# |——|——mid moon.sskn
# |——SpeedPan
# |——|——7z.dll
# |——|——aria2.conf
# |——|——aria2c.exe
# |——|——download-complete.wav
# |——|——encode.dll
# |——|——libeay32.dll

hustlzp 发表于 2019-1-9 08:41

更改代码
print('| '*(leval + 1) + i)为 print('—|'*(leval + 1) + i)

C:\SpeedPan
|——7z.dll
|——aria2.conf
|——aria2c.exe
|——config.ini
|——DebugInfo.txt
|——download-complete.wav
|——encode.dll
|——history_json.pan
|——libeay32.dll
|——LiveUpdate.exe
|——skin
|——|——default.sskn
|——|——guo qing.sskn
|——|——guoqing.sskn
|——|——mid moon.sskn
|——SpeedPan
|——|——7z.dll
|——|——aria2.conf
|——|——aria2c.exe
|——|——download-complete.wav
|——|——encode.dll
|——|——libeay32.dll
|——|——LiveUpdate.exe
|——|——skin
|——|——|——guoqing.sskn
|——|——|——mid moon.sskn
|——|——SpeedPan.exe
|——|——ssleay32.dll
|——SpeedPan.exe
|——ssleay32.dll

夙杀々冷封 发表于 2019-1-9 09:29

楼主分享辛苦了
页: [1]
查看完整版本: 【Python】【笔记】利用递归10行代码打印文件夹的树状结构