##language:zh ---- ZoomQuiet [<>] '''获得外部文件信息''' * 通过一些Python 模块,可以方便的获得即有文件的信息; * 获得基础信息使用 "os" 模块中的 "stat" 模块:{{{#!python import os import stat import time fileStats = os.stat ( 'test.txt' ) fileInfo = { 'Size' : fileStats [ stat.ST_SIZE ], 'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ), 'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ), 'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ), 'Mode' : fileStats [ stat.ST_MODE ] } for infoField, infoValue in fileInfo.items(): print infoField, ':' + infoValue if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ): print '是目录 Directory. ' else: print '非目录 Non-directory.' }}} * 以上示例,创建了一个字典来记录文件的各种信息,也同时汇报是否为目录 * 我们也可进一步获取文件其它信息: {{{#!python import os import stat fileStats = os.stat ( 'test.txt' ) fileMode = fileStats [ stat.ST_MODE ] if stat.S_ISREG ( fileStats [ stat.ST_MODE ] ): print '乃规则的数据文件 Regular file.' elif stat.S_ISDIR ( fileSTats [ stat.ST_MODe ] ): print '乃目录 Directory.' elif stat.S_ISLNK ( fileSTats [ stat.ST_MODe ] ): print '乃文件链接 Shortcut.' elif stat.S_ISSOCK ( fileSTats [ stat.ST_MODe ] ): print '乃 Socket.' elif stat.S_ISFIFO ( fileSTats [ stat.ST_MODe ] ): print '乃通道 Named pipe.' elif stat.S_ISBLK ( fileSTats [ stat.ST_MODe ] ): print '乃块设备 Block special device.' elif stat.S_ISCHR ( fileSTats [ stat.ST_MODe ] ): print '乃字符设备 Character special device.' }}} * 另外我们可以使用 "os.path" 模块收集其它信息:{{{#!python import os.path fileStats = 'test.txt' if os.path.isdir ( fileStats ): print 'Directory.' elif os.path.isfile ( fileStats ): print 'File.' elif os.path.islink ( fileStats ): print 'Shortcut.' elif os.path.ismount ( fileStats ): print 'Mount point.' }}}