Python中使用os.walk()递归遍历目录

2023-12-26

我想从根目录导航到其中的所有其他目录并打印相同的内容。

这是我的代码:

#!/usr/bin/python

import os
import fnmatch

for root, dir, files in os.walk("."):
        print root
        print ""
        for items in fnmatch.filter(files, "*"):
                print "..." + items
        print ""

这是我的 O/P:

.

...Python_Notes
...pypy.py
...pypy.py.save
...classdemo.py
....goutputstream-J9ZUXW
...latest.py
...pack.py
...classdemo.pyc
...Python_Notes~
...module-demo.py
...filetype.py

./packagedemo

...classdemo.py
...__init__.pyc
...__init__.py
...classdemo.pyc

Above, . and ./packagedemo是目录。

但是,我需要按以下方式打印 O/P:

A
---a.txt
---b.txt
---B
------c.out

Above, A and B是目录,其余的是文件。


这会给你想要的结果

#!/usr/bin/python

import os

# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
    path = root.split(os.sep)
    print((len(path) - 1) * '---', os.path.basename(root))
    for file in files:
        print(len(path) * '---', file)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中使用os.walk()递归遍历目录 的相关文章

随机推荐

  • 在 JSF 2.0 中混合 Ajax 和完整请求

    给我带来问题的 JSF 代码如下
  • 我应该尝试在 Java 中创建可逆枚举还是有更好的方法?

    我似乎已经多次遇到这个问题 我想问问社区我是否只是找错了树 基本上我的问题可以归结为 如果我有一个枚举 在Java中 其值很重要 我应该使用枚举还是有更好的方法 如果我确实使用枚举那么什么是反向查找的最佳方法吗 这是一个例子 假设我想创建一
  • Neo4j 中所有节点/关系的可靠(自动)递增标识符

    我正在寻找一种方法 基于递增计数器 不是大而长的 uuid 为 Neo4j 中的所有节点 关系生成唯一标识符 众所周知 Neo4j 引擎维护的内部 ID 不如外部引用可靠 一个接近的解决方案是这个问题中提出的代码 https stackov
  • 在 React JSX 中选择性地渲染可选组件属性

    我有一个用例 其中有一个图像组件 该组件具有必需的 src 属性和可选的 link 属性 如下所示 var Image React createClass propTypes link React PropTypes string even
  • Firebase snapshot.key 未返回实际密钥?

    我有一个根据用户 ID 搜索用户的查询 usersRef queryOrderedByChild email queryEqualToValue email observeEventType Value withBlock snapshot
  • 是否可以将 will_paginate 与 GROUP BY 一起使用?

    我有一个巨大的数据库 我想通过使用 will paginate 来减少查询响应时间 我试图按列对条目进行分组 然后使用 will paginate 将结果放入不同的页面 我尝试这样做 list Persons find by sql sel
  • 如何在Python中将异构列表扁平化为单个列表? [复制]

    这个问题在这里已经有答案了 我有一个对象列表 其中对象可以是列表或标量 我想要一个只有标量的扁平列表 例如 L 35 53 525 6743 64 63 743 754 757 outputList 35 53 525 6743 64 63
  • Perl 正则表达式限制的解决方法?

    我编写了一个程序来从邮件文件夹中提取附件 GITHUB https github com barrycarter bcapps blob master bc extract attachments pl 但由于 Perl 对正则表达式匹配的
  • Angular 2 AOT 构建错误 - JavaScript 堆内存不足

    我的 Angular 2 应用程序是由angular2 webpack 启动器 https www npmjs com package angular2 webpack starter 当我运行命令时npm run build aot构建A
  • pandas 上的数据框划分系列

    我需要划分矩阵的每一列df1进入矩阵的单列df2 得到一个有维数的矩阵df1 3 2 我需要一个结果 dataframe 1 6 2 7 3 8 3 6 4 7 5 8 df1 pd DataFrame data 1 2 3 3 4 5 i
  • 在批处理文件中逐行读取txt

    这是我的问题 我有一个 txt 文件 其中包含 100 个不同的视频名称 示例 abc mpg def mpg ghi mpg xyz mpg 我想使用一些命令逐一处理这些视频 并将结果放入同名的文件夹中 不带扩展名 command1 ab
  • 收集硬币并添加到 Sprite Kit 中的分数标签

    我正在尝试使用本教程作为参考 在我的游戏中实现一个简单的评分系统 http www raywenderlich com 87232 make game like mega jump sprite kit swift part 2 http
  • TagLib Sharp 不编辑艺术家

    我正在尝试将新的艺术家和标题 id3 标签保存到曲目中 从曲目加载标签工作正常 编辑曲目标题也工作正常 但是当我尝试编辑时演员 artist 它没有改变任何东西 这是代码 public void renameID3 string artis
  • 由于弃用而替换 self->isa

    我刚刚安装了 Xcode 4 6 现在我管理的古老代码中出现了新错误 编译器抱怨 直接访问 Objective C 的 isa 已被弃用 取而代之的是 object setClass 和 object getClass 并且该项目将无法构建
  • 如果 Vue 3 引用是对象的属性,则它们的行为会有所不同

    使用 Vue 3 的 Composition API 时 我注意到模板内部的引用在作为对象的属性进行访问时的行为有所不同 我认为这是最好的总结SFC Playground 中的这个示例 https sfc vuejs org eyJBcHA
  • F# 结构元组与 BCL 元组类型

    在 F 中你可以定义一个first函数如下 let first x y x 你可以这样称呼它 first 1 2 您还可以根据 BCL 定义相同的函数Tuple type let first t Tuple lt gt t Item1 但是
  • 如何使用 Github Actions 和语义发布 Github 插件发布整个目录?

    我想使用语义发布在 Github 版本上发布整个目录 构建目录 但不幸的是它将每个构建文件作为单个资产发布 对于复制 我正在使用 Vue CLI 生成项目vue create foo 安装语义释放作为开发依赖项npm install sav
  • 使用 VSTS 发布定义的蓝/绿部署

    我还没有看到任何有关如何在 VSTS 发布定义上进行蓝 绿部署的信息 我有一个 VSTS 发布定义 当我们的源代码中完成新的签入时 它会自动将新的更改部署到我们的 Prod 环境中 现在 该项目正在使用 Azure 流量管理器 并且添加了位
  • 枚举反向查找[重复]

    这个问题在这里已经有答案了 假设我有一个枚举 enum Color Red 1 Green Blue 如果我有一个号码 我可以通过这样做来获取枚举键 var colorName string Color 2 colorName Green
  • Python中使用os.walk()递归遍历目录

    我想从根目录导航到其中的所有其他目录并打印相同的内容 这是我的代码 usr bin python import os import fnmatch for root dir files in os walk print root print