python 找某个文件夹下第多少个文件


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下,有如下关于文件信息的函数:

 

 

getatime() 返回最近访问时间 (浮点型秒数)

getctime() 返回文件创建时间

getmtime() 返回最近文件修改时间

getsize() 返回文件大小 (字节为单位)

abspath() 返回绝对路径

normpath() 规范path字符串形式

得到具体的信息,剩下的就好处理了。sorted函数排序可破,重点不在这里,暂不介绍了。

#==============================

 

评论关闭