首页 > 其他分享 >os.path.getmtime(file) 与 os.stat(file).st_mtime 的区别

os.path.getmtime(file) 与 os.stat(file).st_mtime 的区别

时间:2023-09-05 15:04:29浏览次数:53  
标签:stat file st getmtime mtime os

os.path.getmtime(file)os.stat(file).st_mtime 都用于获取文件的最后修改时间,但它们之间有一些区别:

  1. 返回值类型
  • os.path.getmtime(file) 返回的是一个浮点数,表示文件的最后修改时间,以秒为单位。
  • os.stat(file).st_mtime 返回的也是一个浮点数,表示文件的最后修改时间,以秒为单位。
  1. 调用方式
  • os.path.getmtime(file) 是一个简单的函数,接受文件路径作为参数,直接返回最后修改时间。
  • os.stat(file).st_mtime 使用了更底层的 os.stat 函数来获取文件的元数据,然后从中提取出最后修改时间。
  1. 异常处理
  • os.path.getmtime(file) 如果文件不存在或出现其他问题,会引发 OSError 异常,因此需要进行异常处理。
  • os.stat(file).st_mtime 也可能引发 OSError 异常,但你可以在调用 os.stat 之前先检查文件是否存在,以减少异常的发生。
  1. 性能
  • os.path.getmtime(file) 通常比 os.stat(file).st_mtime 更快,因为它只需要获取文件的最后修改时间,而不需要获取文件的所有元数据。

综上所述,如果你只关心文件的最后修改时间,并且不需要处理异常情况,那么可以使用 os.path.getmtime(file)。但如果你需要更多关于文件的元数据信息或者需要进行异常处理,那么可以使用 os.stat(file).st_mtime。通常情况下,选择哪个方法取决于你的需求和代码的复杂性。

标签:stat,file,st,getmtime,mtime,os
From: https://blog.51cto.com/u_16055028/7372597

相关文章

  • postgresql 查看表格占用空间
    http://www.linuxmysql.com/14/2022/1182.htmselectpg_size_pretty(pg_tablespace_size('pg_default'));selectpg_size_pretty(pg_relation_size('account_move_line'));selectsum(t.size)from(SELECTtable_schema||'.'||table_......
  • kafka集群安装(CentOS7 + kafka 2.7.1)
    Linux系统-部署-运维系列导航 kafka介绍Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源......
  • CentOS Linux release 7.6.1810 Zabbix 4.2 快速入门与实践:构建强大的企业级资源监控
    目录:0x00Zabbix介绍0x01Zabbix安装0x02Zabbix配置0x03Zabbix-Web配置与使用0x04Zabbix实战配置0x0nZabbix入坑配置0x00Zabbix介绍描述:zabbix是一个开源的企业级性能监控解决方案,可以实时监控服务器/网络设备等硬件资源与其相关的各项指标是否是正常的,而且能够更加方便......
  • MySQL安装--rpm(CentOS7 + MySQL 5.7.35)
    Linux系统-部署-运维系列导航 MySQL常用安装方式有3种:rpm安装、yum安装、二进制文件安装。本文介绍rpm安装方式。 组件安装操作步骤参考 组件安装部署手册模板,根据不同组件的安装目标,部分操作可以省略。本文将按照该参考步骤执行。 一、获取组件可执行程序库,包括主程......
  • 文盘Rust -- 生命周期问题引发的 static hashmap 锁
    2021年上半年,撸了个rustcli开发的框架,基本上把交互模式,子命令提示这些cli该有的常用功能做进去了。项目地址:https://github.com/jiashiwen/interactcli-rs。春节以前看到axum已经0.4.x了,于是想看看能不能用rust做个服务端的框架。春节后开始动手,在做的过程中会碰到各种有趣的问......
  • zookeeper集群安装(CentOS7 + zookeeper 3.7.0)
    Linux系统-部署-运维系列导航 zookeeper介绍ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 zo......
  • Java JDK安装 - AdoptOpenJDK(CentOS 7 + AdoptOpenJDK 8)
    Linux系统-部署-运维系列导航 关于JVM、JRE与JDK  1.JVM(JavaVirtualMechinal)Java虚拟机,是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只......
  • Java JDK安装 - OracleJDK(CentOS 7 + OracleJDK 8u201)
    Linux系统-部署-运维系列导航 关于JVM、JRE与JDK  1.JVM(JavaVirtualMechinal)Java虚拟机,是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只......
  • LED摩托车灯降压恒流IC内置mos管AP5192短路保护
    AP5192是一款PWM工作模式,高效率、外围简单、内置功率MOS管,适用于4.5-100V输入的高精度降压LED恒流驱动芯片。最大电流1.5A。AP5192可实现线性调光和PWM调光,线性调光脚有效电压范围0.55-2.6V.AP5192工作频率可以通过RT外部电阻编程来设定,同时内置抖频电路,可以降低对其他设备的E......
  • JPA-querydsl增强工具,query-dsl-plus,现在已开源并推送到mvnrepository
    前言约定俗成......一种接口通用的查询方法,简化开发,增强性能,让更多的精力放在更复杂的业务上。即--按照约定,将查询条件封装成string,前端随时随意更改,但是后台不用任何调整,一个查询接口就能完成绝大多数条件查询。由于喜欢使用JPA,所以后续就接触了query-dsl,但是呢,随着需求的变更,......