Python里面用来遍历目录的os.walk()方法,os.walk会返回一个生成器,所以可以用在for循环。
os.walk(dir)会返回一个三元组:(当前目录,子目录列表,文件列表)
1.获取目录下的文件名
#---encoding:UTF-8----
#!/usr/bin/python
import sys,os
def fileCountIn(dir):
return sum([len(files) for root,dirs,files in os.walk(dir)])
#os.walk(dir)会返回一个三元组:(当前目录,子目录列表,文件列表)
#所以len(files)就是获取当前目录下的文件数,然后每个目录下的文件数求和即可
if __name__=='__main__':
if len(sys.argv)==2:
dir=sys.argv[1]
print 'Total files in %s is: %d' %(dir,fileCountIn(dir))
else:
print 'usage:filecount.py dirname'
2. 用于查看输入路径中的目录以及目录中的所有文件
#encoding:UTF-8
import string,os, sys
dir=raw_input('请输入路径名:')
print '----------- no sub dir(不含子目录)'
files =os.listdir(dir)
for f in files:
print dir + os.sep + f
print '----------- all dir(包含子目录及其下所有文件)'
for root, dirs, files in os.walk(dir):
for name in files:
print os.path.join(root, name)