preface:同仁遇到一个问题,需要在上万个文件中找到第7000个文件,凌乱。查了下Python相关资料,虽说没有完全解决,但还是有东西记录下来。
一、对某个文件夹下遍历文件,os.walk可破。若是多个文件夹的话,配合isdir, isfile等函数可破(参数可有可无):
for i in os.walk(os.getcwd(),topdown=True, onerror=None, followlinks=False):
? ? print i
os.path下判断型的函数:
exists()? 指定路径(文件或者目录)是否存在
isabs()? 指定路径是否为绝对路径
isdir()? 指定路径是否存在且为一个目录
isfile()? 指定路径是否存在且为一个文件
islink()? 指定路径是否存在且为一个符号链接
ismount()? 指定路径是否存在且为一个挂载点
samefile()? 两个路径名是否指向同一个文件
这样返回i[3]为文件名的列表,但是不知道是什么顺序,这就要根据文件信息进行排序了,看你怎么需要,怎么排序。
比如说以文件先后访问时间进行排序:
for i in os.walk(os.getcwd(),topdown=False):
? ? for j in i[2]:
? ? ? ? print j,os.path.getctime(j)
在os.path下,有如下关于文件信息的函数:
得到具体的信息,剩下的就好处理了。sorted函数排序可破,重点不在这里,暂不介绍了。