Windows 与 Linux 文件模式

Windows vs Linux file modes

在 windows 机器上,我正在尝试使用 python 中的 os 模块获取文件模式,如下所示(简短片段):

import os
from stat import *

file_stat = os.stat(path)
mode = file_stat[ST_MODE]

我得到的文件模式的一个例子是 33206。

我的问题是,如何将其转换为linux-文件模式方法? (例如,666)。

感谢所有回复者!

编辑:

在这里找到了我的答案 :) 对于所有想进一步了解该主题的人:

understanding and decoding the file mode value from stat function output

一种解决方法是使用:os.system(r'attrib –h –s d:\your_file.txt'),您可以在其中使用属性开关: R – 此命令会将“只读”属性分配给您选择的文件或文件夹。 H – 此命令会将“隐藏”属性分配给您选择的文件或文件夹。 A – 此命令将为“存档”准备您选择的文件或文件夹。 S – 此命令将通过分配“系统”属性来更改您选择的文件或文件夹。

检查这是否翻译正确:

import os
import stat

file_stat = os.stat(path)
mode = file_stat[ST_MODE]
print oct(stat.S_IMODE(mode))

以你的例子为例:

>>>print oct(stat.S_IMODE(33206))
0666

Took it from here. Read for more explanation