|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 jasonli_whu 于 2017-3-7 18:23 编辑
自己写了一个递归函数,希望将一个文件夹中的所有文件取出遍历出来,放在一个列表中,请各位大神看看,问题出在哪里了
import os
a = []
def find_files(file):
if os.path.isfile(file):
a.append(file)
return a
else:
for each in os.listdir(file):
find_files(os.path.join(file, each))
find_files()是主函数,判断,若不是文件名,是路径名,就递归调用find_files函数
问题:使用函数的时候,print(find_files("随便输入一个路径"))打印出的是None,而不是我想的包含所有文件名的列表
本帖最后由 int2str 于 2017-3-7 18:18 编辑
在程序中加入必要的提示字符,有助了解函数调用过程!!!
- import os
- def find_files(file):
- if os.path.isfile(file):
- a.append(file)
- else:
- print(file, '是文件夹')
- for each in os.listdir(file):
- print('内容:', each)
- find_files(os.path.join(file, each))
-
- file = 'F:\\123'
- global a
- a = []
- find_files(file)
- print(a)
复制代码
|
|