如何解决如何通过python脚本在Mac OS X中以管理员身份运行应用程序或Shell命令?
环境
Python 3.7
Mac OS Mojave 10.14
问题
我正在开发一个软件,该软件需要检查是否以管理员身份运行。如果不是这种情况,则需要以admin身份重新启动自己。
我知道如何在Windows上实现该功能,但找不到适用于Mac的解决方案。
我发现以下代码行可以以Admin身份从Mac终端打开应用程序:
sudo /Applications/YourAppName.app/Contents/MacOS/YourAppName
但是我不知道如何从Python脚本在Mac OS中运行shell命令。 Google的所有结果都说明了如何从Mac终端运行python脚本。
我尝试过的事情
这是我尝试的代码,但收到错误消息:
AttributeError: module 'ctypes' has no attribute 'windll'
这是我的代码:
# ======================= WE NEED TO CHECK IF SCRIPT IS RUN AS ADMIN =============
import ctypes,os
def is_admin():
try:
is_admin = os.getuid() == 0
except AttributeError:
is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0
return is_admin
# ================================================================================
# =============================== RUN MyApp AS ADMIN ==========================
unicode = str
if not is_admin():
if platform.system()=='Windows':
ctypes.windll.shell32.ShellExecuteW(None,"runas",'MyApp.exe','',None,1)
sys.exit()
elif platform.system()=='Darwin':
ctypes.windll.shell32.ShellExecuteW(None,u"runas",unicode(sys.executable),unicode(__file__),1)
sys.exit()
请问有人知道如何以管理员身份打开Mac OS程序以及如何以管理员身份在Mac OS X中运行shell命令吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。