欢迎来到“只读课堂”!
这节课我们是专门针对于上一节课的os模块来制作一个Tree命令,如果你没有完成上一节课的课程,就来学这一堂课,那么你将会很吃力。
In [1]:
#tree命令就是返回一个目录下所有的文件名。
下面,我们来正式开始敲代码
In [2]:
import os
In [3]:
#递归
In [4]:
#目录->当前下面的 文件,文件夹->文件,文件夹
In [ ]:
dirpath = input('请输入你要遍历的目录')
def getdir(dirpath):
#当路径为假
if not dirpath:
dirpath = os.getcwd()
#默认情况下以当前路径开始
#有了路径之后
mylist = os.listdir(dirpath) #取出来所有的文件和文件夹
#判断哪个是文件夹
for name in mylist:
print(name)
#这里可以避免相对路径,手动来拼接,变成绝对路径
name = os.path.join(dirpath,name)
if os.path.isdir(dirpath+'\\'+name):
getdir(name)
getdir(dirpath)
In [ ]:
#将以上代码输入编译器里,就可以使用了。
美化
In [ ]:
#然后我们看到打印出来的东西是不是不好看啊,排列很乱,所以我们加几个东西:
In [ ]:
import os
dirpath = input('请输入你要遍历的目录')
def getdir(dirpath):
if not dirpath:
dirpath = os.getcwd()
mylist = os.listdir(dirpath)
for name in mylist:
print('-'*level + '|' + name)
name = os.path.join(dirpath,name)
if os.path.isdir(dirpath+'\\'+name):
getdir(name,level)
getdir(dirpath)
最终代码:
In [ ]:
import os
dirpath = input('请输入你要遍历的目录')
def getdir(dirpath):
if not dirpath:
dirpath = os.getcwd()
mylist = os.listdir(dirpath)
for name in mylist:
print('-'*level + '|' + name)
name = os.path.join(dirpath,name)
if os.path.isdir(dirpath+'\\'+name):
getdir(name,level)
getdir(dirpath)
以上就是我们这节课“我的Tree命令”的源码,它还是有可以改进的地方的
本次只读课堂的python教程就到这了,欢迎下一次的收看!