我正在尝试遍历目录和其中的任何嵌套目录。似乎递归将是一个很好的方法。
我最终得到了这段代码:
def get_file_list(directory=os.getcwd()):
for i in os.listdir(directory):
if os.path.isdir(i):
get_file_list(i)
continue
print i
这可以精美地打印所有内容——正是我所期望的输出。但是,我想获取此文件列表并将其传递给另一个函数以进行进一步处理。所以我尝试将所有内容编译成一个列表。
def get_file_list(directory=os.getcwd()):
files = []
for i in os.listdir(directory):
if os.path.isdir(i):
get_file_list(i)
continue
files.append(i)
return files
所以现在,问题在于它只返回当前工作目录中的文件。经过一番思考,我想这是一个范围界定问题。files
每次get_file_list()
调用时都会在一块唯一的内存中创建一个新变量,对吗?那么你如何解决这样的问题呢?你如何组合嵌套调用的结果?