有没有什么跨平台的方法来检查我的Python脚本是以管理员权限执行的?不幸的是,os.getuid()仅适用于UNIX,并且在Windows下不可用。
发布于 2009-06-22 11:22:56
import ctypes, os
try:
is_admin = os.getuid() == 0
except AttributeError:
is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0
print is_admin发布于 2017-04-03 04:02:51
下面是我根据被接受的答案创建的实用函数:
import os
import ctypes
class AdminStateUnknownError(Exception):
"""Cannot determine whether the user is an admin."""
pass
def is_user_admin():
# type: () -> bool
"""Return True if user has admin privileges.
Raises:
AdminStateUnknownError if user privileges cannot be determined.
"""
try:
return os.getuid() == 0
except AttributeError:
pass
try:
return ctypes.windll.shell32.IsUserAnAdmin() == 1
except AttributeError:
raise AdminStateUnknownError发布于 2009-06-22 10:25:51
尝试执行您需要管理员权限的任何操作,并检查是否失败。
不过,这只适用于某些事情,你想做什么?
https://stackoverflow.com/questions/1026431
复制相似问题