gue*_*tli 2 python readability chmod stat
我有一个代码检查文件的st_mode:
self.assertEqual(16877, os.stat(my_directory).st_mode)
Run Code Online (Sandbox Code Playgroud)
只有老派unix专家能够16877流利地解读整数值.
是否有更可读的方法来检查这个值?
您可以使用已定义的constats.它们可以在stat(docs)中找到.他们是:
stat.S_IRUSR 对于所有者读取权限,
stat.S_IWUSR 对于所有者写入权限,
stat.S_IXUSR 对于所有者执行权限,
stat.S_IRGRP 对于组阅读权限,
stat.S_IWGRP 对于组写权限,
stat.S_IXGRP 对于组执行权限,
stat.S_IROTH 为他人阅读许可,
stat.S_IWOTH 为他人写的许可,
stat.S_IXOTH 对于其他人执行许可,
stat.S_IFDIR 目录.
它们可以使用按位或组合|.然后你的代码看起来像:
import stat
import os
permissions = (stat.S_IFDIR |
stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR |
stat.S_IRGRP | stat.S_IXGRP |
stat.S_IROTH | stat.S_IXOTH)
self.assertEqual(permissions, os.stat(my_directory).st_mode)
Run Code Online (Sandbox Code Playgroud)