【发布时间】:2020-05-14 22:22:56
【问题描述】:
我需要创建一个 Python 脚本以在 Mac/Linux 中打开终端窗口,并且需要从 Python 脚本在终端中执行以下命令。
- 打开终端
- 执行命令 sudo openpyn --init""
- 它会提示我们输入密码和用户名 - 从 Python 脚本传递它
尝试了以下但它不起作用,请提供任何想法或建议。将有很大帮助。
from openpyn import openpyn
import subprocess
import os
subprocess.call(["sudo openpyn --init"], shell=True)
os.system("sudo openpyn --init")
但它没有给出任何结果或没有按预期工作。
【问题讨论】:
-
注意,默认情况下
sudo会从 /dev/tty 读取密码,因为密码没有理由来自另一个程序... -
你没有启动终端,你启动了一个 shell。也许
os.system("""osascript -e 'tell application "Terminal" to do script "echo hello"'""") -
@MarkSetchell 非常感谢!! os.system("""osascript -e 'tell application "Terminal" to do script "echo hello"'""") 添加了这一行终端窗口正在弹出,但是当我尝试执行 os.sysstem 之类的终端命令时("""ls -l""") 没有结果知道我们该怎么做吗?
-
@SergeBallesta 我在想如果我们可以生成一个终端窗口并从 PYTHON 执行命令,是否可以从那里传递用户名和密码等凭据?
-
你又做了同样的事情。您还没有启动终端,只是在没有终端的情况下运行
ls。
标签: python python-3.x linux macos