目录
题目:获取到了当前目录的内容,去打印就可以
""" # 打印一个目录下所有内容 # 首要解决内容 # 判定:如果是目录,打印完成之后,需要进入目录接着去打印。 # 如果是文件,则直接打印 # 1如何去判定是文件还是目录 # 2如何进入一个目录 # 3解决路径问题 # 在os模型中有 """
需要用到的内容
# os.listdir(文件路径(path)) 列出当前目录里的内容
# 注:“\t”为制表符,而“\”为转义符,则可以用“\”来转义“\t”,如“\\t”。
# os.path.isfile(文件路径(path)) 判断是否为文件
# os.path.isdir(文件路径(path)) 判断是否为目录
# os.chdir() change directory 改变目录(进入其他工作目录)
# os.getcwd() 获取当前的工作目录
# os.path.join() 拼接路径
import os print(os.listdir("D:\\text")) # 内容有['text.txt', 'text2'] print(os.path.isfile("D:\\text")) # 是否为文件False print(os.path.isdir("D:\\text")) # 是否为目录True print(os.getcwd()) # 此文件路径D:\python_code\homework\modle_homework print(os.path.join("D:\\text", "text2")) # 拼接结果D:\text\text2
解决代码
import os def print_directory(path, level=1): for file_name in os.listdir(path): if os.path.isfile(os.path.join(path, file_name)): print("\t" * level + file_name) if os.path.isdir(os.path.join(path, file_name)): print("\t" * level + file_name) print_directory(os.path.join(path, file_name), level + 1) print_directory("D:\\text") # 内容呈现 ''' text.txt text2 text2.txt text3 text3.txt text4 text4.txt '''