os模塊提供的walk方法很強大,能夠把給定的目錄下的所有目錄和文件遍歷出來。
方法:os.walk(path),遍歷path,返回一個對象,他的每個部分都是一個三元組,('目錄x',[目錄x下的目錄list],目錄x下面的文件) 具體代碼如下:
import os
import sys
def walk_dir(dir,fileinfo,topdown=True):
for root, dirs, files in os.walk(dir, topdown):
for name in files:
print(os.path.join(name))
fileinfo.write(os.path.join(root,name) + '\n')
file = open(os.path.join(root,name),"r") #讀出第一行
print file.readline();
for name in dirs:
print(os.path.join(name))
fileinfo.write(' ' + os.path.join(root,name) + '\n')
topdown決定遍歷的順序,如果topdown為True,則先列舉top下的目錄,然后是目錄的目錄,依次類推,反之,則先遞歸列舉出最深層的子目錄,然后是其兄弟目錄,然后子目錄。
dir = raw_input('please input the path:')
fileinfo = open('list.txt','w')
walk_dir(dir,fileinfo)