向 Windows 上的 Python 脚本授予管理权限
执行需要管理权限的任务对于某些应用程序是必要的。在这种情况下,尝试以提升的权限运行 Python 脚本时会出现一个常见问题。在寻求解决方案时,经常链接的参考文献会将用户引导至 Stack Overflow 问题,解决 Python 脚本中的 UAC 提升问题。
尽管遵循了链接问题中提供的代码片段,但许多用户在执行时遇到了问题。本文旨在解决这些困难,并提供在 Windows 上以提升权限执行脚本的全面解决方案。
更新的解决方案(2023 年 2 月)
下面的原始答案有取得了显着的进步,现在可以作为名为“pyuac”的 Python 模块进行访问。可以通过 PyPi 安装:
pip install pyuac pip install pypiwin32
Pyuac 使用示例:
直接使用:
import pyuac def main(): print("Do stuff here that requires being run as an admin.") # The window will disappear as soon as the program exits! input("Press enter to close the window. >") if __name__ == "__main__": if not pyuac.isUserAdmin(): print("Re-launching as admin!") pyuac.runAsAdmin() else: main() # Already an admin here.
装饰器使用:
from pyuac import main_requires_admin @main_requires_admin def main(): print("Do stuff here that requires being run as an admin.") # The window will disappear as soon as the program exits! input("Press enter to close the window. >") if __name__ == "__main__": main()
原始答案(2010)
2010 年,Preston Landers 创建了一个模块来简化 Windows 上的 UAC 处理。使用它,您可以轻松确定当前用户是否是管理员,并在需要时请求 UAC 提升。其用法示例:
import admin if not admin.isUserAdmin(): admin.runAsAdmin()
模块实现:
# See module code provided in the answer text
以上是如何在 Windows 上以管理权限运行 Python 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!