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 "%~dp0"

start python test.py
保存,与 test.py 放在同一文件夹,双击 go.cmd 运行,会弹出提示,点击“是”就会以管理员运行 test.py 了。
3. 用 python 代码获取
以上两种方法都能用,但是总觉得不够优雅,所以接下来我找到了一种可以直接用 python 代码直接获取管理员权限的方法,可以说是相当优雅了。

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, u"runas", unicode(sys.executable), unicode(__file__), None, 1)

以上代码运行时先判断是否拥有管理员权限,如果没有,则调用那个函数获取权限以后再运行一次代码,所以如果在命令行中运行的话,会再弹出一个小黑框。而且根据原博客,这个不能在 IDE 中运行,但是我没有 IDE ,所以没有进行测试。

原文链接:https://blog.csdn.net/MemoryD/article/details/83148305

python获取管理员权限相关推荐

  1. Linux之获取管理员权限的相关命令

    Linux之获取管理员权限的相关命令 1. sudo命令的使用 命令 说明 sudo -s 切换到root用户,获取管理员权限 sudo 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo ...

  2. git获取管理员权限 windows_win10不兼容git2.7.3+版本

    win10 x64 git 2.7.3 git 2.8.0 在获取管理员权限后运行git bash,窗口闪退 生成文件:mintty.exe.stackdump Exception: STATUS_A ...

  3. Win11系统获取管理员权限的方法

    由于微软最近推出了Win11的操作系统,所有有很多小伙伴都进行安装体验,在使用Win11时,如果没有获取管理员权限,很多操作可能会无法进行,这时我们就需要获取管理员权限了,那么Win11系统该如何获取 ...

  4. Win10右键添加获取管理员权限

    在win10中,还是和WIN7/8一样很多文件被设置权限我们打不开,但很多时候我们还是要打开这些文件夹的,尤其是数据恢复和电脑维护优化时.于是乎我们就有必要获取管理员权限.本人隆重退出完美解决方法. ...

  5. 10计算机管理员权限获得,Win10永久获取管理员权限的方法

    Win10怎么永久获取管理员的权限呢?使用电脑的小伙伴都知道,一般我们要运行某个文件或进行进行说明比较重要的步骤的时候,都需要使用管理员的身份来运行.如果没有管理员权限的话,我们使用Win10的时候就 ...

  6. Win7 获取管理员权限

    Win7 获取管理员权限 直接上干货 1.控制面板--系统和安全--管理工具--计算机管理 2.计算机管理--本地用户和组--用户 3.Administrator--属性 4.取消勾选"账户 ...

  7. 没有gpedit.msc这个文件获取管理员权限

    获取windows10管理员权限 没有gpedit.msc这个文件可以自己制作 1,新建文本文档,将以下代码粘贴到文本文档中: @echo off pushd "%~dp0" di ...

  8. 使用c++给程序获取管理员权限

    文章目录 背景 修改程序开启时的运行权限 c++获取程序管理员权限 简单配置vs获取程序管理员权限 背景 最近开发的新项目里面的程序,在自己电脑上运行的好好的,打包出去之后,测试多次说程序有问题,打不 ...

  9. 利用sudo获取管理员权限

    利用sudo获取管理员权限 在Ubuntu服务器安装完成之后,用户将获得管理员的权限,将能随意编辑系统中的任何文件,这样可能就会出现意外的情况,取而代之的是创建一个普通用户使用sudo来进行系统的管理 ...

  10. 如何获取管理员权限,修改文件

    如何获取管理员权限: 1 按"Win+R"打开运行窗口,输入"gpedit.msc",打开"本地组策略编辑器". 2 点击"win ...

最新文章

  1. ubuntu安装mysql依赖关系_ubuntu 安装mysql问题
  2. 入门必看!给零基础新手的超快速色彩知识小科普
  3. linux查看openssh和openssl版本
  4. linux centos 的编码格式,Linux/CentOS/fedora下vim显示的字符编码设置
  5. 云原生开发框架dapr环境搭建:CLI安装和初始化
  6. leetcode(二)二分法查找算法
  7. 饶毅教授对非升即走的思考
  8. string StartsWith 方法 Https
  9. java 单体 启动优化_java设计优化之单例模式
  10. SAE J1939协议(二)
  11. xcap 发包工具 使用帮助
  12. 【无线网络技术】星链计划(StarLink)
  13. Windows server 下关闭135/139/445端口
  14. 极视角联合英伟达亮相CNCC大会,分享极星平台的进阶之路
  15. Comparable Comparator的区别
  16. 弘辽科技:直通车双重优化
  17. K8S V1.23 安装--Kubeadm+contained+公网 IP 多节点部署
  18. 工艺路线和工序有差别吗_做为一名机械人,你知道机械加工工艺的流程吗?
  19. isnan函数返回值c语言,C++ std::isnan等函数的使用
  20. 三星平板 N8000刷机升级安卓版本到7.1过程记录

热门文章

  1. 学了这么久的高并发编程,连Java中的并发原子类都不知道?这也太Low了吧
  2. java cmd 乱码_java在cmd运行时出现乱码解决方法
  3. 2018毕业设计需求分析
  4. 使用 Netsh.exe 配置 WinHTTP 的代理设置
  5. PHP教程环境--环境搭建
  6. matlab多径瑞利衰落信道,Matlab仿真多径信道瑞利衰落
  7. 为大家带来的是C语言入门视频教程
  8. 《有限元分析及应用》第5章:变形体力学方程求解的试函数方法的原理
  9. 决策支持系统和专家系统有什么不同
  10. win版mysql下载_MYSQL下载及安装--windows版本