Print out the whole directory tree(打印出整个目录树)
本文介绍了打印出整个目录树的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我现在的代码:
import os
Tree = {}
Tree = os.listdir('Dir')
>>> print(Tree)
['New Folder', 'Textfile1.txt', 'Textfile2.txt']
这不会打印出子目录中的文件.(新建文件夹是一个子目录).
That doesn't print out the files in the subdirectories. (New Folder is a subdirectory).
我的问题是,如何输出目录下的所有文件和子目录下的文件?
My question is, how can I output all the files in the directory and the files in subdirectories?
推荐答案
import os
def Test1(rootDir):
list_dirs = os.walk(rootDir)
for root, dirs, files in list_dirs:
for d in dirs:
print os.path.join(root, d)
for f in files:
print os.path.join(root, f)
或者:
import os
def Test2(rootDir):
for lists in os.listdir(rootDir):
path = os.path.join(rootDir, lists)
print path
if os.path.isdir(path):
Test2(path)
对于测试文件树:
E:TEST
│--A
│ │--A-A
│ │ │--A-A-A.txt
│ │--A-B.txt
│ │--A-C
│ │ │--A-B-A.txt
│ │--A-D.txt
│--B.txt
│--C
│ │--C-A.txt
│ │--C-B.txt
│--D.txt
│--E
运行以下代码:
Test1('E:TEST')
print '======================================='
Test2('E:TEST')
您可以看到结果之间存在差异:
You can see there are difference between the results:
>>>
E:TESTA
E:TESTC
E:TESTE
E:TESTB.txt
E:TESTD.txt
E:TESTAA-A
E:TESTAA-C
E:TESTAA-B.txt
E:TESTAA-D.txt
E:TESTAA-AA-A-A.txt
E:TESTAA-CA-B-A.txt
E:TESTCC-A.txt
E:TESTCC-B.txt
=======================================
E:TESTA
E:TESTAA-A
E:TESTAA-AA-A-A.txt
E:TESTAA-B.txt
E:TESTAA-C
E:TESTAA-CA-B-A.txt
E:TESTAA-D.txt
E:TESTB.txt
E:TESTC
E:TESTCC-A.txt
E:TESTCC-B.txt
E:TESTD.txt
E:TESTE
>>>
要将它们保存在列表中:
To save them in a list:
import os
files = []
def Test1(rootDir):
files.append(rootDir)
list_dirs = os.walk(rootDir)
for root, dirs, files in list_dirs:
for d in dirs:
files.append(os.path.join(root, d))
for f in files:
files.append(os.path.join(root, f))
import os
files = [rootDir]
def Test2(rootDir):
for lists in os.listdir(rootDir):
path = os.path.join(rootDir, lists)
files.append(path)
if os.path.isdir(path):
Test2(path)
这篇关于打印出整个目录树的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:打印出整个目录树
猜你喜欢
- 沿轴计算直方图 2022-01-01
- 如何将一个类的函数分成多个文件? 2022-01-01
- python-m http.server 443--使用SSL? 2022-01-01
- pytorch 中的自适应池是如何工作的? 2022-07-12
- padding='same' 转换为 PyTorch padding=# 2022-01-01
- 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01
- 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01
- 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01
- python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
- 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
