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

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

Linda Hamilton
发布: 2024-12-10 14:15:14
原创
839 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板