def alldirandfile(root,relative=True):
'''
root:要遍历的目录
relative:是否输出相对路径,默认True ,输出相对路径
return 一个生成器,需迭代处理成类似列表的数据结构。
'''
import os
if not os.path.exists(root):
raise
os.chdir(root)
if relative:
root='.'
result=[(i,j,k) for i,j,k in os.walk(root)]
for item in result:
for i in item[2]:
yield os.path.join(item[0],i)
for j in item[1]:
yield os.path.join(item[0],j)
if __name__ == '__main__':
# demo here:
root=R'C:\Users\Administrator\站二手'
pprint([i for i in alldir1(root)])
import os
# 所有的目录
pprint([i for i in alldir1(root) if os.path.isdir(i)])
# 所有的文件
pprint([i for i in alldir1(root) if os.path.isfile(i)])