首页 > 解决方案 > 如何解释 os.stat() st_mode 值?

问题描述

我正在为 Linux 系统开发一个基于 Mysql 的文件系统。我开发了 python 代码来实现基本的 linux 终端命令,如 cd、ls、pwd、find 和 grep。

作为 ls 命令的一部分,我想实现 ls -l 扩展。

我已经为数据库中的所有文件存储了 st_mode 值。现在我需要像下面的结果一样解释模式结果并打印它们。

drwxr-xr-x 31 sai sai 4096 Apr 2 10:31 sai

示例:st_mode = 0o0400的八进制值。现在我需要从八进制值中检索/获取drwxr-xr-x

我提到了使用掩码,但不明白如何使用 python 以我想要的格式获得结果。

请提出实现我要求的方法。

标签: pythonpython-3.xlinuxpython-2.7

解决方案


知道了。

使用 bin() 将八进制值转换为二进制,然后参考二进制数的最后 9 位以获取权限位。


推荐阅读