【发布时间】:2013-01-23 15:30:24
【问题描述】:
我的程序不认为文件夹是目录,假设它们是文件,因此递归将文件夹打印为文件,然后由于没有等待遍历的文件夹,程序结束。
import os
import sys
class DRT:
def dirTrav(self, dir, buff):
newdir = []
for file in os.listdir(dir):
print(file)
if(os.path.isdir(file)):
newdir.append(os.path.join(dir, file))
for f in newdir:
print("dir: " + f)
self.dirTrav(f, "")
dr = DRT()
dr.dirTrav(".", "")
【问题讨论】:
-
我刚刚在 ubuntu 12.04 上使用 python 2.7 对其进行了测试,并且可以正常工作。不知道为什么它不适合你。
-
@placeybordeaux im on os x...这可能是个问题吗?
-
附带说明:不要在 Python 中的
if条件等周围加上括号;这很不和谐,并引起了人们对“他在这里做一些需要括号的复杂事情吗?”的关注。而不是实际情况。
标签: python recursion directory