gpt4 book ai didi

Python与shell命令交互

转载 作者:太空宇宙 更新时间:2023-11-04 04:14:13 25 4
gpt4 key购买 nike

我正在尝试与一个多 shell 程序交互,其中一个是用 python 编写的,另一个是用 perl 编写的,另一个是用 ruby​​ 编写的..

认为他们运行的终端就像命令一样简单

$python demo.py

Option1
Option2
Option3
Option4

app1>1

#Menu 1 options
Option1 from menu 1
Option2 from menu 1
Option3 from menu 1
Option4 from menu 1

app1>2

#Option 2 from menu1 options
Option2.1 from menu 1
Option2.2 from menu 1
Option2.3 from menu 1
Option2.4 from menu 1

app1>2

所有 3 个应用程序运行几乎相同,但我尝试使用 php shell_exec 命令、python OS 模块,但没有人能够与程序的子菜单和工作流程进行交互...

我能够运行:

 import os   
list = os.popen('pwd').read()
print list

<?php shell_exec(´ls -las´)?>

有人有将没有 GUI 界面的 Shell 程序迁移到 GUI Web 界面的经验吗? (我正在考虑制作一个包装器来与该程序交互)

最佳答案

您将需要使用子流程模块来创建子流程,然后使用interact方法或.stdin和.stdout属性(它们是类似文件的对象)与其交互。

不过,您必须在 subprocess.Popen 调用中传递 stdin=subprocess.PIPE 和 stdout=subprocess.PIPE,否则您将无法进行交互。

如果您想将其绑定(bind)到网络应用程序或其他东西,您还必须让它“在后台”运行,以便用户可以在多个 HTTP 请求期间与程序交互。

关于Python与shell命令交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17534959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com