前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python打印文件目录路径

python打印文件目录路径

原创
作者头像
bashnow
发布2024-08-19 01:01:05
1560
发布2024-08-19 01:01:05
举报
文章被收录于专栏:PythonNotes

简介

当进入一个目录的时候,想要看这个目录下有什么文件、有什么目录的时候,可以用dirdir /slsls -R 目录等命令打印目录的内容。

但上述命令可能无法直观获得完整文件路径,测试如下:

dir /s:递归打印(windows)

ls -R 目录路径:递归打印(linux)

ll -R 目录路径:递归打印(linux)

代码

此时可通过python来打印和输出完整的文件路径

代码语言:python
代码运行次数:0
复制
import os

def dir_file_travel(path,indent,isOutput=False):
    """
    递归打印目录中的文件名/目录名
    :param path:目录
    :param indent:间隔
    :param isOutput:是否输出到文件
    :return:None
    """
    dir_file_lists = os.listdir(path)
    for item in dir_file_lists:
        full_path = os.path.join(path, item)
        if os.path.isdir(full_path):
            print(indent+'├─'+item)
            if isOutput:
                with open('path_record.txt','a+',encoding='utf-8')as file:
                    file.write( indent+'├─'+item+chr(10))
            dir_file_travel(full_path,indent+"    ",isOutput)
        elif os.path.isfile(full_path):
            print(indent+'└─'+item)
            if isOutput:
                with open('path_record.txt','a+',encoding='utf-8')as file:
                    file.write(indent+'└─'+item+chr(10))
            #记录文件路径
            if isOutput:
                with open('full_path_record.txt','a+',encoding='utf-8')as file:
                    file.write(full_path+chr(10))

if __name__ == '__main__':
    dir_file_travel(os.getcwd(),'',isOutput=False)

解释:

  • dir_file_travel(path,indent,isOutput=False)

path:传入的目录。

indent:分隔符,这里使用空格。

isOutput:是否输出打印结果,isOutput=False默认不输出。若为True,将打印结果输出到path_record.txt,将完整文件路径输出到full_path_record.txt

测试效果:

  • 仅打印,isOutput=False
  • 打印并输出相关结果,isOutput=True

打印并输出了结果到txt。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档