os 与 stat 在文件中获取相关的信息

简介:

#!/usr/bin/env python

#-*- encoding:UTF-8 -*-


import os,time,stat


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 ]                          #获取文件的模式

}



#print fileInfo


for field in fileInfo:                                     #显示对象内容

  print '%s:%s' % (field,fileInfo[field])


for infoField,infoValue in fileInfo:

  print '%s:%s' % (infoField,infoValue)

if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ):           #判断是否路径

  print 'Directory. '

else:

  print 'Non-directory.'


if stat.S_ISREG( fileStats [ stat.ST_MODE ] ):           #判断是否一般文件

   print 'Regular file.'

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.'


   stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义.我们可方便地根据stat模块存取os.stat()中的值.

os.stat(path)执行一个stat()系统调用在给定的path上,返回一个类元组对象(stat_result对象,包含10个元素),属性与stat结构成员相关:st_mode(权限模式),st_ino(inode number),st_dev(device),st_nlink(number of hard links),st_uid(所有用户的user id),st_gid(所有用户的group id),st_size(文件大小,以位为单位),st_atime(最近访问的时间),st_mtime(最近修改的时间),st_ctime(创建的时间)




>>> import os

>>> print os.stat("/root/python/zip.py")

(33188, 2033080, 26626L, 1, 0, 0, 864, 1297653596, 1275528102, 1292892895)


>>> print os.stat("/root/python/zip.py").st_mode   #权限模式

33188

>>> print os.stat("/root/python/zip.py").st_ino   #inode number

2033080

>>> print os.stat("/root/python/zip.py").st_dev    #device

26626

>>> print os.stat("/root/python/zip.py").st_nlink  #number of hard links

1

>>> print os.stat("/root/python/zip.py").st_uid    #所有用户的user id

0

>>> print os.stat("/root/python/zip.py").st_gid    #所有用户的group id

0

>>> print os.stat("/root/python/zip.py").st_size  #文件的大小,以位为单位

864

>>> print os.stat("/root/python/zip.py").st_atime  #文件最后访问时间

1297653596

>>> print os.stat("/root/python/zip.py").st_mtime  #文件最后修改时间

1275528102

>>> print os.stat("/root/python/zip.py").st_ctime  #文件创建时间

1292892895




import os,stat,time


fileStats = os.stat('new.txt')


print 'size:',fileStats[stat.ST_SIZE] #读取文件大小


print 'type:',fileStats[stat.ST_MODE] #读取文件属性


print 'atime:',fileStats[stat.ST_ATIME] #读取atime


print 'mtime:',fileStats[stat.ST_MTIME] #读取mtime


print 'ctime:',fileStats[stat.ST_CTIME] #读取ctime











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1766284,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Python
文件元数据获取方法对比:`os.path` 与 `os.stat`
本文对比了Python中两种获取文件元数据的方法:`os.path`和`os.stat`。通过示例代码展示了如何获取文件大小和修改时间,并从性能、功能性和代码可读性三方面进行了详细对比。最终给出了根据具体需求选择合适方法的最佳实践建议。
31 2
|
2月前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
194 5
|
2月前
|
Web App开发 API Windows
取接口访问者信息[IP,浏览器,操作系统]免费API接口教程
此API用于获取访问者的IP地址、浏览器和操作系统信息,支持70多种浏览器和操作系统。通过POST或GET请求至`https://cn.apihz.cn/api/ip/getapi.php`,需提供用户ID和KEY。返回结果包括状态码、消息、IP、浏览器和操作系统信息。示例:{"code":200,"ip":"175.154.88.178","browser":"Chrome","os":"Windows 10"}。详情见官网文档。
|
8月前
|
存储 Linux
linux查看系统版本、内核信息、操作系统类型版本
linux查看系统版本、内核信息、操作系统类型版本
339 9
|
4月前
|
人工智能 运维 安全
专访浪潮信息:AI 原生时代,浪潮信息引领服务器操作系统创新 全面贡献龙蜥社区
分享了关于 AI 原生化趋势下服务器操作系统进化的思考,以及浪潮信息在龙蜥社区开源贡献的思路、成果与未来技术发展规划。
专访浪潮信息:AI 原生时代,浪潮信息引领服务器操作系统创新 全面贡献龙蜥社区
|
3月前
|
存储 Java iOS开发
MacOS环境-手写操作系统-43-dir命令的实现 和 文件写入
MacOS环境-手写操作系统-43-dir命令的实现 和 文件写入
48 0
|
8月前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
487 2
|
5月前
|
边缘计算 运维 安全
操作系统新浪潮问题之浪潮信息在标准制定方面的成果内容如何解决
操作系统新浪潮问题之浪潮信息在标准制定方面的成果内容如何解决
31 0
|
5月前
|
Linux 编译器 云计算
操作系统新浪潮问题之浪潮信息深入参与龙蜥社区并推出商业发行版操作系统的原因如何解决
操作系统新浪潮问题之浪潮信息深入参与龙蜥社区并推出商业发行版操作系统的原因如何解决
44 0
|
7月前
|
缓存 Linux Windows
初识Linux操作系统(根目录下的重要文件)(命令提示符的含义)
Linux系统基于"一切皆文件"的理念,重要文件分布在如/root(root用户目录)、/home(普通用户目录)、/etc(应用配置)、/dev(设备文件)、/boot(内核及启动文件)、/proc(动态系统信息)、/lib64(库文件)、/opt(软件存放)、/tmp(临时文件)。"[root@localhost ~]#"代表管理员在root目录,"$"代表普通用户。创建新用户用`useradd`命令。调节终端字体大小:Ctrl+Shift++增大,Ctrl+减号缩小。绝对路径从根目录开始,相对路径从当前目录开始。