在 python 脚本中检查管理员权限的跨平台方法?

在 python 脚本中检查管理员权限的跨平台方法?

有没有跨平台的方法可以检查我的 python 脚本是否在管理员权限下执行?不幸的是,os.getuid() 仅适用于 UNIX,在 Windows 下不可用 :(。

答案1

import ctypes
import os

try:
    is_admin = os.getuid() == 0
except AttributeError:
    is_admin = ctypes.windll.shell32.IsUserAnAdmin()

print is_admin

答案2

“管理员权限”毫无意义。Unix 和 Windows 都有一长串特定用户可能拥有或可能不拥有的不同权限。你应该尝试做你想做的事情,并使用例外来处理缺乏权限的情况。这就是它们存在的目的。

相关内容