python文档的查看-python文件信息查看和修改

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

文件信息的读取

文件系统本身可以显示有关文档的一些有趣信息。例如,它可以告诉你文档文件的大小,以及创建/修改或上次读取的时间。在某些平台上,你还可以找出拥有相关文件的人员。要在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值