遍历文件夹

# -*- coding: utf-8 -*-
#遍历文件夹,并将文件夹中的文件和文件夹打印出来,同时标记出类型(文件还是文件夹)、文件大小、文件修改日期。
#!/usr/bin/python
#coding:utf8

import os
import os.path
import time
 
def GetCurPathInfo():
    CurPath = os.getcwd()                #获取当前目录名
    ChildrenList = os.listdir(CurPath)   #指定目录包含所有内容的名称
   
    #打印当前目录的文件和文件夹信息
    rootdir = CurPath                                   # 指明被遍历的文件夹
    #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
    for parent,dirnames,filenames in os.walk(rootdir): 
        for dirname in  dirnames:                         #输出文件夹信息
            print "parent is:" + parent
            print  "dirname is" + dirname

        for filename in filenames:                        #输出文件信息
            print "parent is:" + parent
            print "filename is:" + filename
            print "the full name of the file is:" + os.path.join(parent,filename) #输出文件路径信息
 
    InfoDict = dict()
   
    for Name in ChildrenList:
        tempInfo = os.stat(Name)         #指定文件或目录的信息
       
       #需要注意的是时间的转换,由于os.stat()返回的结果是距初始时间点的秒数,所以格式化前需用库函数time.ctime()转换。
        tempDict = dict( [('Size', tempInfo.st_size),\
                        ('CreateTime',time.ctime(tempInfo.st_ctime)),\
                        ('ChangeTime',time.ctime(tempInfo.st_mtime))]) 
        InfoDict[Name] = tempDict
 
    for Record in InfoDict:
        #r是为了打印原始字符串,屏蔽转义,也就是说输出\n而不是换行。
        info = r'%20s    %8s KB   %25s   %25s' % (Record, InfoDict[Record]['Size'],\
                             InfoDict[Record]['CreateTime'],\
                             InfoDict[Record]['ChangeTime'])
                             
        print(info)
 
def test():
    GetCurPathInfo()
 
if __name__ == '__main__': test()

你可能感兴趣的:(python)