遍历d:/sylar文件目录,打印出所有的目录和文件
首先打印d:/sylar当前目录下所有
import os
def func(filepath):
files=os.listdir(filepath) #查看当前目录中的文件
for file in files: #获取每一个文件
print(file)
func("d:/sylar")
test1.txt
test2.txt
目录1
目录2
打印sylar目录下所有目录以及文件
import os
def func(filepath):
files=os.listdir(filepath) #查看当前目录中的文件
for file in files: #获取每一个文件名
#h获取到文件的路径
file_p=os.path.join(filepath,file)
if os.path.isdir(file_p): #判断file_p是否目录
print('文件夹',file)
func(file_p)
else:
print(file) #打印文件名
func("d:/sylar")
test1.txt
test2.txt
文件夹 目录1
目录1下的文件.txt
目录1下的文件1.txt
目录1下的文件2.txt
文件夹 目录2
目录2下的文件.txt
目录2下的文件1.txt
目录2下的文件2.txt
优化一下,增加层次感
import os
def func(filepath,n):#d:/sylar
#1,打开这个文件夹
files=os.listdir(filepath) #查看当前目录中的文件
#2,拿到每一个文件名
for file in files: #获取每一个文件名
#3获取到文件的路径
file_p=os.path.join(filepath,file) #d:/sylar/文件名
#4 判断是否是文件夹
if os.path.isdir(file_p): #判断file_p是否目录
#5.如果是文件夹,继续在来一遍
print("\t"*n,file,":") #打印文件名,\t层数
func(file_p,n+1)
else: #不是文件夹,普通文件
print("\t"*n,file) #打印文件名
func("d:/sylar",0)
test1.txt
test2.txt
目录1 :
目录1下的文件.txt
目录1下的文件1.txt
目录1下的文件2.txt
目录2 :
目录2下的test目录 :
test2目录2下文件.txt
目录2下的文件.txt
目录2下的文件1.txt
目录2下的文件2.txt