我有一个 OS X Python 应用程序,它使用 wxPython 作为 GUI 控件。我希望在启动网络服务之前提示用户获得管理权限(类似于使用 Objective-C 中的授权服务 API)。
我发现的最接近的图书馆是 Bob Ippolito's授权库 http://www.undefined.org/python/#authorization但它相当过时,并且与 Snow Leopard (OS X 10.6.4 / Python 2.6.4) 存在兼容性问题。
我的解决方法是创建一个 Objective-C 启动器,以管理权限运行 python 应用程序,但这感觉相当笨拙。
谢谢您的帮助!
如果您只是需要运行一个 shell 命令来请求提升权限,那么您可以执行以下操作:
os.system("""osascript -e 'do shell script "<commands go here>" " with administrator privileges'""")
它将在 applescript 解释器中运行 shell 命令并提示用户输入帐户凭据;使用 sudo 有效运行命令。
请注意,在命令中转义引号会很有趣,例如
os.system("""osascript -e 'do shell script "mkdir -m 0775 -p \\"%s\\" " with administrator privileges'"""%d)
希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)