ZoomQuiet [2005-02-04 06:51:15] 获得外部文件信息
- 通过一些Python 模块,可以方便的获得即有文件的信息;
获得基础信息使用 "os" 模块中的 "stat" 模块:
1 import os 2 import stat 3 import time 4 5 fileStats = os.stat ( 'test.txt' ) 6 fileInfo = { 7 'Size' : fileStats [ stat.ST_SIZE ], 8 'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ), 9 'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ), 10 'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ), 11 'Mode' : fileStats [ stat.ST_MODE ] 12 } 13 for infoField, infoValue in fileInfo.items(): 14 print infoField, ':' + infoValue 15 if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ): 16 print '是目录 Directory. ' 17 else: 18 print '非目录 Non-directory.'
- 以上示例,创建了一个字典来记录文件的各种信息,也同时汇报是否为目录
我们也可进一步获取文件其它信息:
1 import os 2 import stat 3 fileStats = os.stat ( 'test.txt' ) 4 fileMode = fileStats [ stat.ST_MODE ] 5 if stat.S_ISREG ( fileStats [ stat.ST_MODE ] ): 6 print '乃规则的数据文件 Regular file.' 7 elif stat.S_ISDIR ( fileSTats [ stat.ST_MODe ] ): 8 print '乃目录 Directory.' 9 elif stat.S_ISLNK ( fileSTats [ stat.ST_MODe ] ): 10 print '乃文件链接 Shortcut.' 11 elif stat.S_ISSOCK ( fileSTats [ stat.ST_MODe ] ): 12 print '乃 Socket.' 13 elif stat.S_ISFIFO ( fileSTats [ stat.ST_MODe ] ): 14 print '乃通道 Named pipe.' 15 elif stat.S_ISBLK ( fileSTats [ stat.ST_MODe ] ): 16 print '乃块设备 Block special device.' 17 elif stat.S_ISCHR ( fileSTats [ stat.ST_MODe ] ): 18 print '乃字符设备 Character special device.'
另外我们可以使用 "os.path" 模块收集其它信息: