Python 脚本中的 UAC 提升
在 Windows Vista 及更高版本中,用户帐户控制 (UAC) 限制某些文件系统操作以防止未经授权的操作修改。这可能会阻碍 Python 脚本执行复制文件等操作。
请求 UAC 提升
自 2017 年起,请求 UAC 提升的便捷方法如下:
import ctypes, sys def is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False if is_admin(): # Code goes here else: # Re-run with admin rights ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)
如果使用 Python 2.x,请替换最后一行与:
ctypes.windll.shell32.ShellExecuteW(None, u"runas", unicode(sys.executable), unicode(" ".join(sys.argv)), None, 1)
此方法有几个优点:
这种方法特别方便,因为它提供了一个简单且可移植的方法在 Python 脚本中提升 UAC 权限的方法。
以上是如何为我的 Python 脚本请求 UAC 提升?的详细内容。更多信息请关注PHP中文网其他相关文章!