python - 显示带有文件的路径树
问题描述
import os
path = "G:\krunker\mod"
abcde = open("path.txt", "w")
for dirpath, dirnames, filenames in os.walk(path):
directory_level = dirpath.replace(path, "")
directory_level = directory_level.count(os.sep)
indent = " " * 4
print("{}{}/".format(indent*directory_level, os.path.basename(dirpath)), file=abcde)
for f in filenames:
print("{}{}".format(indent*(directory_level+1), f), file=abcde)
abcde.close()
我希望它打印路径的每个文件夹中的文件,但它只在最后一个
解决方案
缩进不正确。第二个for
循环也必须在第一个for
循环内。
正确代码:
import os
path = "/home/user/my_folder/tools"
abcde = open("path.txt", "w")
for dirpath, dirnames, filenames in os.walk(path):
directory_level = dirpath.replace(path, "")
directory_level = directory_level.count(os.sep)
indent = " " * 4
print("{}{}/".format(indent*directory_level, os.path.basename(dirpath)), file=abcde)
for f in filenames:
print("{}{}".format(indent*(directory_level+1), f), file=abcde)
abcde.close()
path.txt 内容的一部分:
tools/
.gitignore
README.md
__init__.py
requirements3.txt
test.py
path.txt
.git/
description
hooks/
commit-msg.sample
info/
exclude
refs/
heads/
master
推荐阅读
- excel - 如何更正 VBA 编辑器设置
- php - 将 COOKIE_DOMAIN 设置为共享 cookie 不起作用
- javascript - UI5 Indexed DB:存储变量并稍后调用它们
- javascript - 检查是否存在,如果存在则删除
- html - css BEM 概念
- reactjs - useState 在设置相同的值时仅重新渲染组件两次,但随后停止
- java - 没有偏移量和索引列的 SQL 分页
- mod-rewrite - Apache 2.2 如何检查 HTTP_HOST SERVER_ADDR 是否不相等?
- android - pruneWork() 方法的用途是什么,WorkManager 中什么时候使用该方法?
- python - 如何将图像加载到 RAM 以供以后在 .kv 文件中使用(Kivy+Python)