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 mysqldb连接数据库
Mar 16 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
基于pandas数据样本行列选取的方法
Apr 20 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
python处理document文档保留原样式
Sep 23 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
对python中各个response的使用说明
Mar 28 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
Jun 10 Python
图解Python中深浅copy(通俗易懂)
Sep 03 Python
如何用python批量调整视频声音
Dec 22 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在不同页面间传递Json数据示例代码
2013/06/08 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
详解puppeteer使用代理
2018/12/27 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
Python 处理数据的实例详解
2017/08/10 Python
python绘制简单折线图代码示例
2017/12/19 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
python实现视频分帧效果
2019/05/31 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
python 实现IP子网计算
2021/02/18 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
英文简历自荐信范文
2013/12/11 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
稽核岗位职责
2015/02/10 职场文书
病危通知书样本
2015/04/17 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android