修改os.stat对象

时间:2017-06-03 20:00:11

标签: python

有没有办法编辑os.stat返回的对象?此时,我希望能够为对象添加文件名的值,以便更容易地识别原始文件。

此时我能想出的唯一方法就是将posix.stat_result对象子类化并添加值(尽管我没有尝试过这样做以找出它是多么可行)。那会有用吗?还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以通过这种方式将其转换为dict

import os
s = os.stat('.')
d = dict(zip('mode ino dev nlink uid gid size atime mtime ctime'.split(), s))

...然后将其他条目添加到dict

请注意,我只包含核心10个字段。如果您想覆盖all the possible fields,那么您可以执行以下操作:

import os
fields = 'mode ino dev nlink uid gid size atime mtime ctime blocks blksize rdev flags gen birthtime ftype attrs obtype'

s = os.stat('.')
d = dict((field,getattr(s,'st_'+field, None)) for field in fields.split())
相关问题