5-5 如何访问文件的状态
1.文件的类型(普通文件 ,目录 符号链接,设备文件
2.文件的访问权限
3.文件爱你最后访问/修改/节点状态更改时间
4.普通文件的大小
解决方案
系统调用 表中库os模块中的三个系统调用 stat fstat lstat获取文件状态
如果是符号链接文件 stat之后渠到的是指向的文件属性 ,
lstat才是获取到符号链接文件的属性
fstat需要的文件描述符 f=open(“test.txt”,”r”) f.fileno
快捷函数 标准库中的os.path 下一些函数,使用起来更加简洁
stat模块是管理文件属性的集合
os.stat('a.txt')
posix.stat_result(st_mode=33204, st_ino=13371126L, st_dev=51L, st_nlink=1, st_uid=13350, st_gid=25, st_size=0L, st_atime=1483343930, st_mtime=1483343930, st_ctime=1483343930)
os.chmod(filename, os.stat(filename).st_mode | stat.S_IXUSR | stat.S_IXGRP |stat.S_IXOTH)
通过os.path下的一些方法
import os
import stat
import time
s = os.stat('a.txt')
print s
print stat.S_ISDIR(s.st_mode)
print s.st_mode &stat.S_IRUSR #访问权限
print time.localtime(s.st_atime)
print s.st_size
if os.path.isdir('a.txt'):
print "ok"
if os.path.isfile('a.txt'):
print "ok"
if os.path.getatime('a.txt'):
print os.path.getatime('a.txt')
if os.path.getsize('a.txt'):
print os.path.getsize('a.txt')
help(os.stat)
>>> help(os.stat)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'os' is not defined
>>> import os
>>> help(os.stat)
Help on built-in function stat in module posix:
stat(...)
stat(path) -> stat resul