Python3 获取文件属性的方式(时间、大小等)


Posted in Python onMarch 12, 2020

os.stat(path) :

用于在给定的路径上执行一个系统 stat 的调用。

path:

指定路径

返回值:

st_mode: inode 保护模式
-File mode: file type and file mode bits (permissions).
st_ino: inode 节点号。
-Platform dependent, but if non-zero, uniquely identifies the file for a given value of st_dev.
——the inode number on Unix,
——the file index on Windows
st_dev: inode 驻留的设备。
-Identifier of the device on which this file resides.
st_nlink:inode 的链接数。
-Number of hard links.
st_uid: 所有者的用户ID。
-User identifier of the file owner.
st_gid: 所有者的组ID。
-Group identifier of the file owner.
st_size:普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
-Size of the file in bytes, if it is a regular file or a symbolic link. The size of a symbolic link is the length of the pathname it contains, without a terminating null byte.
st_atime: 上次访问的时间。
-Time of most recent access expressed in seconds.
st_mtime: 最后一次修改的时间。
-Time of most recent content modification expressed in seconds.
st_ctime:由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。
st_atime_ns
-Time of most recent access expressed in nanoseconds as an integer
st_mtime_ns
-Time of most recent content modification expressed in nanoseconds as an integer.
st_ctime_ns
-Platform dependent:
——the time of most recent metadata change on Unix,
——the time of creation on Windows, expressed in nanoseconds as an integer.

实例:

from os import stat
statinfo =stat(r'C:\Users\Administrator\Desktop\1\4D-A300.txt')
print (statinfo)#属性
print(statinfo.st_size) #大小字节
print('%.3f'%(statinfo.st_size/1024/1024))#大小M

输出结果:

os.stat_result(st_mode=33206, st_ino=3659174697378650, st_dev=3993776408, st_nlink=1, st_uid=0, st_gid=0, st_size=3876301, st_atime=1541032563, st_mtime=1541033475, st_ctime=1541032563)

.697

我们看到,时间都是一些大的浮点数-时间戳(每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。)

从返回浮点数的时间辍方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。

#-*- coding:utf-8 -*- python3.6.3

from os import stat
import time
statinfo =stat(r'C:\Users\Administrator\Desktop\1\4D-A300.txt')
print (statinfo)
print(time.localtime(statinfo.st_atime))

输出为:

os.stat_result(st_mode=33206, st_ino=3659174697378650, st_dev=3993776408, st_nlink=1, st_uid=0, st_gid=0, st_size=3876301, st_atime=1541032563, st_mtime=1541033475, st_ctime=1541032563)
time.struct_time(tm_year=2018, tm_mon=11, tm_mday=1, tm_hour=8, tm_min=36, tm_sec=3, tm_wday=3, tm_yday=305, tm_isdst=0)

附:月份缩写 -_-||

Python3 获取文件属性的方式(时间、大小等)

time 模块的 strftime 方法来格式化日期

print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(statinfo.st_atime)))

结果:

2018-11-01 08:36:03

附:格式化符号

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X本地相应的时间表示
%Z 当前时区的名称
%% %号本身

补充知识:python 获取请求链接下载文件的大小和文件特征

废话不多说,还只直接看代码吧!

###根据url链接提取下载文件的大小特征和下载文件类型
def getRemoteFileSize(url, proxy=None):
  '''
  通过content-length头获取远程文件大小
  '''
  opener = urllib2.build_opener()
  if proxy:
    if url.lower().startswith('https://'):
      opener.add_handler(urllib2.ProxyHandler({'https' : proxy}))
    elif url.lower().startswith('http://'):
      opener.add_handler(urllib2.ProxyHandler({'http' : proxy}))
    else:
      opener.add_handler(urllib2.ProxyHandler({'ftp': proxy}))
  try:
    request = urllib2.Request(url)
    request.get_method = lambda: 'HEAD'
    response = opener.open(request)
    response.read()
  except Exception, e:
    # 远程文件不存在
    return 0, 0
  else:
    getfileSize = dict(response.headers).get('content-length', 0)
    filesize = round(float(getfileSize) / 1048576, 2)
    getContentType = dict(response.headers).get('content-type', 0)
    return filesize, getContentType

以上这篇Python3 获取文件属性的方式(时间、大小等)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python中requirements.txt的一切
Mar 03 Python
Python 比较两个数组的元素的异同方法
Aug 17 Python
Python标准库之itertools库的使用方法
Sep 07 Python
python如何对实例属性进行类型检查
Mar 20 Python
Python列表推导式与生成器用法分析
Aug 02 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
python读取ini配置的类封装代码实例
Jan 08 Python
使用python客户端访问impala的操作方式
Mar 28 Python
使用python matploblib库绘制准确率,损失率折线图
Jun 16 Python
Python实现删除某列中含有空值的行的示例代码
Jul 20 Python
python简单实现9宫格图片实例
Sep 03 Python
Python获取对象属性的几种方式小结
Mar 12 #Python
深入浅析Python 命令行模块 Click
Mar 11 #Python
python字典和json.dumps()的遇到的坑分析
Mar 11 #Python
解决pyecharts运行后产生的html文件用浏览器打开空白
Mar 11 #Python
在django admin详情表单显示中添加自定义控件的实现
Mar 11 #Python
django admin 添加自定义链接方式
Mar 11 #Python
django xadmin 管理器常用显示设置方式
Mar 11 #Python
You might like
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
2012/08/06 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
js中的this关键字详解
2013/09/25 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
python操作CouchDB的方法
2014/10/08 Python
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
Python有序字典简单实现方法示例
2017/09/28 Python
python实现感知器算法详解
2017/12/19 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
Django 框架模型操作入门教程
2019/11/05 Python
Python如何给你的程序做性能测试
2020/07/29 Python
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
英语专业学生的自我评价
2013/12/30 职场文书
新领导上任欢迎词
2014/01/13 职场文书
后进生转化工作制度
2014/01/17 职场文书
设计大赛策划方案
2014/06/13 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers