【发布时间】:2016-11-26 15:15:15
【问题描述】:
好的,所以当我运行这个命令时:
sudo python3.5 /path/to/my/script.py
它执行良好并返回:
选择用户:
- 客人
我的用户名
选择需要清理的账号(输入对应的编号):
然后我输入“2”,按回车,脚本运行良好。
但是,当我运行时:
osascript -e 'do shell script "python3.5 /Path/to/my/script.py" with administrator privileges'
我得到了预期的弹出屏幕,可以在其中输入我的 sudo 密码,但之后它抛出了错误:
OSError: [Errno 9] 错误的文件描述符 (1) 需要清理 (enter 对应的数字):")
有人对此有任何想法吗?任何帮助将不胜感激!
PS;关于我为什么需要这个方法的一些背景——>我正在使用一个预脚本(也是用 python 编写的),需要从中执行 myscript.py。我的 prescript.py 不需要 需要管理员权限。然而,有时需要调用 需要管理权限的 myscript.py。因为我不想将我的 sudo 密码硬编码到我的任何脚本中,所以我想要一个弹出框询问我。我想,告诉我的 pre-script.py 在上面提到的 osascript 命令上运行 subprocess.Popen([]) 就可以了。但是,为此,我首先需要让 osascript 命令正常工作。
【问题讨论】:
标签: python python-3.x python-3.5 errno osascript