【发布时间】:2011-12-12 00:19:48
【问题描述】:
我正在尝试使用自制的路径导航功能 - 基本上我需要浏览一个文件夹,并探索其中的每个文件夹,在每个文件夹中运行一个功能。
当我尝试在 for 循环中更改目录时遇到问题。我有这个“findDirectories”功能:
def findDirectories(list):
for files in os.listdir("."):
print (files)
list.append(files)
os.chdir("y")
最后一行导致了问题。如果我删除它,该函数只会编译一个包含该文件夹中所有文件夹的列表。不幸的是,这意味着我每次进入文件夹时都必须运行它,我不能只运行一次。我已经指定了文件夹“y”,因为那是一个真正的文件夹,但即使这样,程序也会在打开时崩溃。在 for 循环之外执行 os.chdir("y") 完全没有问题。
我是 Python 新手,但不是一般的编程新手。我怎样才能让它工作,或者有更好的方法吗?我需要的最终结果是在此文件夹中存在的每个“*Response.xml”文件上运行一个函数,无论它嵌套多深。
【问题讨论】:
-
你为什么不用
os.walk或os.path.walk? -
“程序崩溃”是什么意思?可能您收到了一些错误消息?
-
你到底想做什么?正如在一个答案中所指出的那样,正如您所承认的那样,每次只更改为 'y' 是行不通的。