3

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

import os
from stat import *

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

我为文件获取的模式示例是 33206。

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

感谢所有回复者!

编辑:

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

从 stat 函数输出中理解和解码文件模式值

4

2 回答 2

3

检查这是否正确翻译:

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

从这里拿走了。阅读更多解释

于 2016-12-22T09:55:58.477 回答
0

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

于 2016-12-22T09:51:18.790 回答