这篇文章主要介绍文件信息的获取和修改(主要是文件的访问和修改时间)

文件信息的读取

文件系统本身可以显示有关文档的一些有趣信息。例如,它可以告诉你文档文件的大小,以及创建/修改或上次读取的时间。在某些平台上,你还可以找出拥有相关文件的人员。要在Python中获取此信息,您可以在跨平台的os模块中使用stat函数:

1

2

3

4

5import os

st = os.stat("d:/test.html")

print("Type of st:", type(st))

print("st:", st)

输出(stream):

Type of st: st: os.stat_result(st_mode=33206, st_ino=10133099161596645, st_dev=3649960629, st_nlink=1, st_uid=0, st_gid=0, st_size=9649, st_atime=1561387614, st_mtime=1561387614, st_ctime=1552207589)

如果你懂点英文可能已经看出来我们可以获取的信息:

mod: 此文件的访问权限

ino/dev: ino(I节点)和dev(设备)成员可用于确定文件的物理位置。在UNIX系统上,(dev,ino)可以唯一标识物理文件。在Windows系统上,设备编号对应于驱动器号

nlink: 在UNIX系统上,这是此文件的硬链接数。在Windows下,此成员始终为1。

uid,gid: 在UNIX系统上,这些可用于确定给定文件的所有者。在Windows下,这些都为0。

size: 文件的大小,以字节为单位。

atime, mtime, ctime: 上次访问文件,上次修改文件以及上次更改文件信息的时间。时间以秒为单位,因为参考时间(“epoch”,通常是1970年)与time.time()一起返回当前时间。在Windows下,上次访问的时间通常无效。

下面是一个例子, 用来打印文件的大小和修改时间:

1

2

3st = os.stat("d:/test.html")

print("size:", st.st_size)

print("修改时间:", st.st_mtime)

输出(stream):

size: 9649

修改时间: 1561387614.9498422

如果你想要看到人类能读懂的时间, 可以使用time模块进行转换:

1

2

3import time

time.asctime(time.localtime(st.st_mtime))

输出(plain):

"Mon Jun 24 22:46:54 2019"

os模块还提供了一个fstat函数,可以在打开的文件中使用。它需要一个整数文件句柄,而不是文件对象,因此您必须在文件对象上使用fileno方法以便获取文件句柄:

1

2

3f = open("d:/test.html", "r")

st = os.fstat(f.fileno())

print(st)

输出(stream):

os.stat_result(st_mode=33206, st_ino=10133099161596645, st_dev=3649960629, st_nlink=1, st_uid=0, st_gid=0, st_size=9613, st_atime=1561427779, st_mtime=1561427779, st_ctime=1552207589)

修改”文件的修改时间”

语法是: os.utime(path, time)

path – 文件路径

times – 如果时间是 None, 则文件的访问和修改设为当前时间 。 否则, 时间是一个 2-tuple数字, (atime, mtime) 用来分别作为访问和修改的时间。 注意atime和mtime都是参考1970年的时间戳。

我们用下面的小例子来说明:

1

2

3

4

5

6

7

8

9now = time.time()

print("当前的时间:", now)

# 文件真实的访问和修改时间

st = os.stat("d:/test.html")

print("文件的真实修改时间:", st.st_mtime)

# 修改文件修改时间

os.utime("d:/test.html", (now, now-100))

st = os.stat("d:/test.html")

print("文件的修改时间变成:", st.st_mtime)

输出(stream):

当前的时间: 1561428715.2898495

文件的真实修改时间: 1561428043.960675

文件的修改时间变成: 1561428615.2898495

1

2

注意

本文由jupyter notebook转换而来, 您可以在这里下载notebook

有问题可以直接在下方留言

或者给我发邮件675495787[at]qq.com

请记住我的网址: mlln.cn 或者 jupyter.cn

python文档的查看-python文件信息查看和修改相关推荐

  1. python打开中文文本utf-8用不了_关于Python文档读取UTF-8编码文件问题

    近来接到一个小项目,读取目标文件中每一行url,并逐个请求url,拿到想要的数据. #-*- coding:utf-8 -*- classIpUrlManager(object):def __init ...

  2. python 文档注释快捷键,python注释快捷键是什么

    python注释快捷键:1.单行注释是[#],Mac的快捷键是[command+/],windows的快捷键是[Ctrl + /]:2.多行注释是三个单引号['''注释'''].g1m少儿编程网-ht ...

  3. 基于 Python 官方 GitHub 构建 Python 文档

    1. 下载 Python 的 GitHub 仓库:cpython 从 GitHub 上 clone 仓库很简单,在命令行中执行命令 git clone git@github.com:python/cp ...

  4. 怎么退出python命令行cd找到txt文档_《python怎么读取txt文件》

    python怎么创建一个txt文件 python怎么创建txt文件的方法. 如下参考: 1.首用内置的空闲编辑器编辑(单击并选择copy),如下图所示. 2.您可以下载记事本和其他编辑软件,以支持多种 ...

  5. 查看Python文档的几种方法

    查看文档是一个程序员的基本功,这里简单介绍几种查看Python文档的方法,下面以struct模块为例. 1.help 在交互模式下,help函数是获取文档的好帮手,使用非常简单. >>&g ...

  6. python 合并word文档,实现同一个文件夹下面的word合并成一个word

    python 合并word文档,实现同一个文件夹下面的word合并成一个word -- coding:utf-8 -- import win32com.client as win32 import o ...

  7. Python 实现将 Markdown 文档转换为 EPUB 电子书文件

    Python 实现将 Markdown 文档转换为 EPUB 电子书文件 Markdown Markdown 是一种轻量级的标记语言,用于以简单且易于阅读的方式格式化文本.它由 John Gruber ...

  8. Python读取.txt文档内容/读取text文件内容

    Python读取.txt文档内容/读取text文件内容; 读取txt后缀文件的内容的两种方式,简约易懂,复制粘贴即可食用,节约你宝贵的时间 文档全部数据一次性读取 # -*- coding: UTF- ...

  9. python文档学习

    文章目录 python文档学习 python解释器 传入参数 交互模式的提示符 帮助信息 基础知识 python保留字 注释 多行语句 缩进 python数据类型与运算符 变量与基本类型 数字类型 集 ...

  10. Python——文档

    python包含了可以使文档的编写变得更简单的语法和工具. Python文档资源如下表: 形式 角色 #注释 文件中的文档 dir函数 对象中可用属性的列表 文档字符串:__doc__ 附加在对象上的 ...

最新文章

  1. 判断是否过期的算法_铁观音多久过期,怎么判断铁观音是否过期?
  2. javaMP3转pcm 百度语音识别
  3. 题目1206:字符串连接
  4. [异常特工]android常见bug跟踪
  5. matlab 实验5,MATLAB实验5报告.doc
  6. 诺奖得主们年轻时都有哪些特征?擅长合作、论文高产是关键
  7. oracle创建索引01652,建立数据表快照导致ora-01652异常
  8. UISlider 滑块控件—IOS开发
  9. NUXT.JS原理简述
  10. back to wuxi
  11. java实现文件移动_java实现文件的复制,移动
  12. 北航操作系统课程-20200409课堂小测-进程同步
  13. XRD测试常见问题及解答(一)
  14. Spiceworks数据统计:Win10发布半年使用情况
  15. 华为ensp_三层交换
  16. HP 惠普笔记本电脑 禁用触摸板 在插入鼠标后
  17. 智商黑洞(门萨Mensa测试)3
  18. 《刷新》精髓:微软第三任CEO萨提亚•纳德拉重新发现微软灵魂的传奇历程,给了我们普通人哪些启示?
  19. ASP无限分类数据库版
  20. Androidnbsp;LinearLayout与Relat…

热门文章

  1. 树回归源码分析(1)
  2. WinForm 限制同一个进程只能打开一次
  3. Go语言中查询SqlServer数据库
  4. Memcache 分布式高可用集群介绍
  5. Android开发八 “尚未注册网络”错误信息的解决办法
  6. 编译安装日志分析平台 elk + beats(个人感觉不错1)
  7. .html,.htm和.shtml的区别
  8. PHP使用单例模式进行连接DB:public的方法进行调用连接函数即可
  9. mysql生产环境运维方案_[MySQL生产环境] Innodb存储引擎内存报警问题处理过程
  10. 测试工具_10款优秀的浏览器兼容性测试工具