如何在python中与终端交互

2024-04-28 09:34:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个小剧本。脚本应该打开3个终端并独立地与这些终端交互。在

我很理解子流程是最好的方法。到目前为止我所做的:

# /usr/bin/env python
import subprocess

term1 = subprocess.Popen(["open", "-a", "Terminal"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
term1.communicate(input="pwd")

我的问题是我不能与新终端交互。此部件term1.communicate(input="pwd")不工作。我无法向新终端发送命令。我也试过term1.communicate(input="pwd\n"),但什么也没发生

你知道我该怎么做吗?在

另外,我用的是苹果操作系统。在


Tags: term1方法importenv脚本终端inputbin
1条回答
网友
1楼 · 发布于 2024-04-28 09:34:12

您可以在不打开终端的情况下同时运行这两个命令。在

import subprocess
process1 = subprocess.Popen(["ls", "-l"])
process2 = subprocess.Popen(["ls", "-l"])

如果您运行该代码,您将看到目录被列出两次,交错在一起。您可以根据您的具体需要扩展此功能:

^{pr2}$

相关问题 更多 >