问题:
如何有效地使用stat函数来获得有意义的文件权限(用户、组和其他)。
细节:
我正在查询文件权限,如下所示:
statInfo = os.stat
permissions = stat.S_IMODE ( os.stat ( 'fooBar.txt' ).st_mode )
这将返回十进制形式的权限。所以如果fooBar.txt
有八进制文件权限0700
,这里permissions
设置为十进制值448
。我想要的是为每个权限设置 9 个变量(ownerRead
, ownerWright
, ownerExecute
, groupRead
,...)如果我要这样做,我会使用这样的蛮力方法:
statInfo = os.stat
permissions = stat.S_IMODE ( os.stat ( 'fooBar.txt' ).st_mode )
octPermissions = oct ( permissions )
ownerRead = octPermissions [1] >= 4
ownerWrite = octPermissions [1] == 2 or octPermissions [1] == 6 or octPermissions [1] == 3 or
ownerExecute = octPermissions [1] == 1 or octPermissions [1] == 5 or octPermissions [1] == 3
有没有更有效的方法来做到这一点而不必转换为八进制,因为这个函数会被调用很多次?