常规方法:
import ctypes, sys
def is_admin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except Exception as e:
print(f"Error checking admin status: {e}")
return False
if not is_admin():
# 如果不是管理员,则重新启动并请求管理员权限
ctypes.windll.shell32.ShellExecuteW(
None,
"runas",
sys.executable,
f'"{__file__}"',
None,
1
)
else:
# 这里放置需要管理员权限执行的代码逻辑
print("Running with administrative privileges.")
缺点:运行后出现两个命令框
推荐方法:
1、找到C盘目录下的python.exe软件(如果安装python版本多的话,可能有多个exe文件)
2、右键->属性->兼容性->以管理员身份运行此程序
完成设置后,运行所有的xxx.py文件都会默认使用管理员权限等级。
优化:
防止打开xxx.py文件是老是弹出提醒框,进行如下配置:
win+r -> msconfig ->工具->选中"更改UAC设置"->启动->拉到最低
这样就可以完美运行在管理员等级下,且不会出现两个弹窗
注意!!权限提升后,python对应的编辑器也要提升下,否则提示如下错误
我用的pycharm,修改权限等级后就好了