镇江做网站哪家公司好,wordpress恢复密码,2023年不用做核酸了吗,山西做网站运营的公司最近在写一个可以自动更换 hosts 的 python 脚本#xff0c;但是操作 hosts 需要管理员权限 #xff0c;所以就想着要怎么获取。 总结了一下#xff0c;有三种方法可以获取#xff0c;下面分别介绍一下。 1. 以管理员运行 cmd 这个方法很简单#xff0c;也无需多说#x…
最近在写一个可以自动更换 hosts 的 python 脚本但是操作 hosts 需要管理员权限 所以就想着要怎么获取。 总结了一下有三种方法可以获取下面分别介绍一下。 1. 以管理员运行 cmd 这个方法很简单也无需多说右键以管理员运行就可以了然后在里面运行 python 脚本就有管理员权限了。 2. 用 cmd 脚本获取 假设我要运行的文件是 test.py则我可以写一个 cmd 脚本不妨叫做 go.cmd在里面写入 echo off
%1 mshta vbscript:CreateObject(Shell.Application).ShellExecute(cmd.exe,/c %~s0 ::,,runas,1)(window.close)exit
cd /d %~dp0start python test.py保存与 test.py 放在同一文件夹双击 go.cmd 运行会弹出提示点击“是”就会以管理员运行 test.py 了。 3. 用 python 代码获取 以上两种方法都能用但是总觉得不够优雅所以接下来我找到了一种可以直接用 python 代码直接获取管理员权限的方法可以说是相当优雅了。 以下代码来源python如果获取windows管理员权限一 from __future__ import print_function
import ctypes, sysdef is_admin():try:return ctypes.windll.shell32.IsUserAnAdmin()except:return False
if is_admin():# 将要运行的代码加到这里
else:if sys.version_info[0] 3:ctypes.windll.shell32.ShellExecuteW(None, runas, sys.executable, __file__, None, 1)else:#in python2.xctypes.windll.shell32.ShellExecuteW(None, urunas, unicode(sys.executable), unicode(__file__), None, 1)以上代码运行时先判断是否拥有管理员权限如果没有则调用那个函数获取权限以后再运行一次代码所以如果在命令行中运行的话会再弹出一个小黑框。而且根据原博客这个不能在 IDE 中运行但是我没有 IDE 所以没有进行测试。 4. 不弹出UAC解决方法 有的人可能使用上面的 2 和 3 方法发现不会弹出授权弹框这可能是因为系统的 UAC 被关掉了按照以下步骤开启 win R在运行框里输入 msconfig.点击 工具然后点击 更改UAC设置再点击 右下方的启动.将通知调整到 始终通知.这里也有图文教程win10系统如何开启UAC --------------------- 作者MemoryD 来源CSDN 原文https://blog.csdn.net/MemoryD/article/details/83148305 版权声明本文为作者原创文章转载请附上博文链接 内容解析ByCSDN,CNBLOG博客文章一键转载插件