有没有办法编辑 os.stat 返回的对象?此时,我希望能够为对象添加一个文件名值,以便更容易地识别原始文件。
在这一点上,我能弄清楚的唯一方法是对 posix.stat_result 对象进行子类化并添加值(尽管我还没有尝试找出它的可行性)。那行得通吗?有没有更好的办法?
最佳答案
您可以通过这种方式将其转换为 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())
关于python - 修改 os.stat 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44348067/