import os
list_result = os.listdir('.')
def search(list_result_copy):
for now in list_result_copy:
if os.path.isfile(now): # file in current directory
print os.path.join(os.path.abspath('.'), now)
if os.path.isdir(now): # directory in current directory
direction = os.listdir(os.path.join(os.path.abspath('.'), now))
search(direction) #就是这里,我想要递归输出所有子目录文件,但是这里压根儿不执行
if name == '__main__':
search(list_result)
direction要判断一下是不是目录。只有目录才需要递归
加打印,调试一下就行
if os.path.isfile(now) 感觉这句有问题,now只是一个名字,不是全路径呀 递归到下一层的时候 就乱了 找不到子文件的
"""
list_result = os.listdir('.')
def search(list_result_copy):
for now in list_result_copy:
if os.path.isfile(now): # file in current directory
print(os.path.join(os.path.abspath('.'), now))
if os.path.isdir(now): # directory in current directory
direction = os.listdir(os.path.join(os.path.abspath('.'), now))
search(direction) # 就是这里,我想要递归输出所有子目录文件,但是这里压根儿不执行
if name == '__main__':
search(list_result)
测试了一下,没问题,可以打印子目录文件,不过你的代码中if name == '__main__': 应该是if name == '__main__':