os.walk()
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
top 为要遍历的目录:
topdown = True,优先遍历top目录,再遍历子目录,可选参数
onerror -- 可选, 需要一个 callable 对象,当 walk 需要异常时,会调用。
followlinks -- 可选, 如果为 True,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)。
得到的是一个元组(root,dirs,files)
root 当前遍历到的目录
dirs 当前目录下的子目录,是一个list
files 当前目录下的文件,是一个list
os.path.join()
将多个路径组合后返回
语法:os.path.join(path1[,path2[,path3[,...[,pathN]]]])
注意:第一个绝对路径之前的参数将会被忽略
例子
目录结构
D:\\xiaogaojianghu_jinyong
-- 0.txt
-- 1.txt
-- 2.txt
-- 3.txt
-- 4.txt
-- a
-- 5.txt
-- 6.txt
-- 7.txt
-- 8.txt
for root, dirs, files in os.walk('D:\\xiaoaojianghu_jinyong'):
for name in files:
fileName = os.path.join(root,name)
modifiedTime = time.localtime(os.stat(fileName).st_mtime)
createdTime = time.localtime(os.stat(fileName).st_ctime)
mTime = time.strftime('%Y-%m-%d %H:%M:%S', modifiedTime)
cTime = time.strftime('%Y-%m-%d %H:%M:%S', createdTime)
print("fileName " + fileName)
print("modifiedTime " + mTime)
print("createdTime " + cTime + '\n')
输出
modifiedTime 2017-12-11 00:13:11
createdTime 2017-09-11 19:25:22
fileName D:\xiaoaojianghu_jinyong\0.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:20:58
fileName D:\xiaoaojianghu_jinyong\1.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42
fileName D:\xiaoaojianghu_jinyong\2.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42
fileName D:\xiaoaojianghu_jinyong\3.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42
fileName D:\xiaoaojianghu_jinyong\4.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42
fileName D:\xiaoaojianghu_jinyong\a\5.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42
fileName D:\xiaoaojianghu_jinyong\a\6.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42
fileName D:\xiaoaojianghu_jinyong\a\7.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42
fileName D:\xiaoaojianghu_jinyong\a\8.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42