目录
一、使用 os.path.walk 遍历目录
代码:
# -*- coding: utf-8 -*-
import os
import sys
def walk_dir(dirname):
file_list = list()
for root, dirs, files in os.walk(dirname):
for f in files:
full_name = os.path.join(root, f)
file_list.append(full_name)
for d in dirs:
full_name = os.path.join(root, d)
sub_files = walk_dir(full_name)
file_list.extend(sub_files)
return file_list
if "__main__" == __name__:
dirname = sys.argv[1]
files = walk_dir(dirname)
print('\n'.join(files))
运行效果:
$ python walk-dir.py .
./walk-dir.py
./listdir.py
二、使用 os.listdir 遍历目录
代码:
# -*- coding: utf-8 -*-
import sys
import os
def list_dir(dirname):
file_list = list()
all_list = os.listdir(dirname)
for f in all_list:
full_name = os.path.join(dirname, f)
if os.path.isdir(full_name):
file_list.extend(list_dir(full_name)) # list sub dir
elif os.path.isfile(full_name):
file_list.append(full_name)
return file_list
if "__main__" == __name__:
dirname = sys.argv[1]
files = list_dir(dirname)
print('\n'.join(files))
运行效果:
$ python listdir.py .
./walk-dir.py
./listdir.py