Python 代码:读取文件并显示目录树
Python 代码:读取文件并显示目录树
这是一个使用 Python 语言编写的代码,可以读取文件或目录并显示其目录树结构。
import os
def display_directory_tree(path, indent=''):
# 判断路径是文件还是目录
if os.path.isfile(path):
# 如果是文件,则直接打印文件名
print(indent + os.path.basename(path))
elif os.path.isdir(path):
# 如果是目录,则打印目录名,并递归处理子目录和文件
print(indent + os.path.basename(path) + '/')
indent += ' ' # 增加缩进,用于显示层次关系
# 遍历目录下的文件和子目录
for filename in os.listdir(path):
# 递归调用自身,处理子目录和文件
display_directory_tree(os.path.join(path, filename), indent)
# 读取文件或目录的路径
file_or_dir_path = input('请输入要读取的文件或目录的路径:')
# 检查给定的路径是否存在
if os.path.exists(file_or_dir_path):
# 调用函数显示目录树
display_directory_tree(file_or_dir_path)
else:
print('路径不存在!')
代码说明:
- 导入 os 模块:
import os - 定义
display_directory_tree函数:- 接收两个参数:
path表示要读取的路径,indent表示缩进字符串,默认为空字符串。 - 使用
os.path.isfile()函数判断路径是否为文件,如果是文件则直接打印文件名。 - 使用
os.path.isdir()函数判断路径是否为目录,如果是目录则打印目录名,并递归调用自身处理子目录和文件。 - 递归调用时,将
indent参数加上两个空格,用于显示目录结构的层次关系。
- 接收两个参数:
- 读取用户输入的路径:
file_or_dir_path = input('请输入要读取的文件或目录的路径:') - 检查路径是否存在:
if os.path.exists(file_or_dir_path): - 如果路径存在,调用
display_directory_tree函数显示目录树;如果路径不存在,则输出错误信息。
代码示例:
假设当前目录下有一个名为 my_folder 的文件夹,其中包含两个文件 file1.txt 和 file2.txt。
当用户输入 my_folder 时,程序将会输出以下内容:
my_folder/
file1.txt
file2.txt
代码中使用到的关键函数:
os.path.isfile(path):判断路径是否为文件。os.path.isdir(path):判断路径是否为目录。os.path.basename(path):获取路径的基本文件名或目录名。os.listdir(path):获取路径下的所有文件名或目录名。os.path.join(path, filename):将路径和文件名组合成完整路径。
你可以根据自己的需要调整和扩展该代码,例如添加对不同文件类型的处理逻辑,或者使用其他库来实现更加复杂的功能。
希望这个代码示例能够帮助你理解如何使用 Python 来读取文件并显示目录树。
原文地址: https://www.cveoy.top/t/topic/jcx 著作权归作者所有。请勿转载和采集!