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函数排序可破,重点不在这里,暂不介绍了。
CentOS上源码安装Python3.4
《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版]
《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]
在Ubuntu下用Python搭建桌面算法交易研究环境