Python随手记(一) 获取目录信息

最近需要处理许多数据文件,常用matlab处理,虽然很方便,但是每次启动慢,很麻烦。用C语言之类的需要考虑细节,处理文件又只是随手用用,感觉不值得花费太多时间。后来发现Python是个不错的选择,小巧方便,因此找些资料开始学习下。入门细节不多说,直接用程序练习。

目的是为了熟悉文件操作,所以想先写个脚本获取当前目录信息的小功能。需要输出的有:

1、 文件名及子目录名

2、 文件大小(单位KB)

3、 文件的创建时间及修改时间

很简单,获取文件信息之类的功能肯定与操作系统相关,通过说明文档可以找到几个有用的函数:os.getcwd()、os.listdir()、os.stat(),都包含在os包里。分别可以获取当前目录名、指定目录包含所有内容的名称、指定文件或目录的信息,使用细节可以参照说明文档。

找到这几个函数后就是对照文档堆代码了,没什么技术含量,安排好程序流程就好。Python格式化输出字符串与C语言类似,使用时也比较方便。需要注意的是时间的转换,由于os.stat()返回的结果是距初始时间点的秒数,所以格式化前需用库函数time.ctime()转换。

完成的代码如下:

import os
import time
import struct
 
def GetCurPathInfo():
   CurPath = os.getcwd()
   ChildrenList = os.listdir(CurPath)
 
   InfoDict = dict()
   
   for Name in ChildrenList:
       tempInfo = os.stat(Name)
       tempDict = dict( [('Size', tempInfo.st_size),\
                        ('CreateTime',time.ctime(tempInfo.st_ctime))] )
       InfoDict[Name] = tempDict
 
   for Record in InfoDict:
       info = r'%s    %s KB    %s' %(Record, InfoDict[Record]['Size'],\
                             InfoDict[Record]['CreateTime'])
       print(info)
 
def test():
   GetCurPathInfo()
 
if __name__ == '__main__': test()

运行效果如图1,四列数据分别为文件名、文件大小、最近修改时间、创建时间。


图1 脚本运行效果

非常简单,但可以熟悉下Python编程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值