Python初级第3课——我的Tree命令(只读课堂)

欢迎来到“只读课堂”!

这节课我们是专门针对于上一节课的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教程就到这了,欢迎下一次的收看!

匿名

发表评论

匿名网友