首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python与Cygwin(mintty)通信并获得输出

使用python与Cygwin(mintty)通信并获得输出
EN

Stack Overflow用户
提问于 2014-03-03 08:39:17
回答 1查看 1.5K关注 0票数 2

我们在windows平台上使用cygwin进行一些维护工作。我想要做的不仅仅是使用python启动cygwin,或者启动它并传递一个命令。

我想启动cygwin,保持会话,然后如果需要,我向它传递一个命令,然后得到控制台输出,如果我想,我传递第二个命令并得到输出.

之所以要这样做,是因为我们公司使用了一系列与服务器通信的命令,如下所示:步骤1:登录步骤2: initInfo步骤3: getStatus=Port1

我不能传递一次命令,因为我需要控制应该根据前面命令的输出传递下一个命令的命令。

我可以使用下面的命令启动mintty.exe并获取进程id,如何将命令传递给这个特定的mintty应用程序并使用python获得输出,并且每次执行命令时,我都需要与mintty进行多次通信,而无需启动一个新的mintty。

代码语言:javascript
复制
p_mintty = subprocess.Popen(['c:/cygwin/bin/mintty.exe', '-'], shell = True, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)

您的任何建议都受到热烈欢迎!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-03 08:46:22

试试这个:

代码语言:javascript
复制
program = subprocess.Popen(['c:/cygwin/bin/mintty.exe', '-'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)

program.stdin.write("command1")
stdout1, stderr1 = program.communicate()

program.stdin.write(change_something(stdout1))
stdout2, stderr2 = program.communicate()
..etc
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22142070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档