首页 >后端开发 >Python教程 >如何在 Windows 上以管理权限运行 Python 脚本?

如何在 Windows 上以管理权限运行 Python 脚本?

Linda Hamilton
Linda Hamilton原创
2024-12-10 14:15:14909浏览

How Can I Run Python Scripts with Administrative Privileges on Windows?

向 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn