我想为交互式 CLI 程序(Asterisk CLI)编写一个包装器。
基本上,我需要保持与 CLI 的交互(包括制表符补全),但我想过滤 Asterisk 的输出,以便仅显示与给定模式匹配的行。
我尝试了一种基于 select() 的方法,使用 popen.popen4 并将星号 stdout_and_stderr 和 sys.stdin 放在 read_fs 中,但它有点不起作用。
谁能给我一些好的指点?
非常感谢,安德里亚
我想为交互式 CLI 程序(Asterisk CLI)编写一个包装器。
基本上,我需要保持与 CLI 的交互(包括制表符补全),但我想过滤 Asterisk 的输出,以便仅显示与给定模式匹配的行。
我尝试了一种基于 select() 的方法,使用 popen.popen4 并将星号 stdout_and_stderr 和 sys.stdin 放在 read_fs 中,但它有点不起作用。
谁能给我一些好的指点?
非常感谢,安德里亚
Pexpect 可能对您有用:http: //sourceforge.net/projects/pexpect/
网页描述:“Pexpect 是一个 Python 模块,用于生成子应用程序;控制它们;并响应其输出中的预期模式。Pexpect 可用于自动化交互式应用程序,例如 ssh、ftp、passwd、telnet 等。Pexpect 是纯 Python。”
http://code.google.com/p/py-asterisk/
介绍
Python Asterisk 包(代号为 py-Asterisk)试图为 Asterisk Manager API 生成高质量、有据可查的 Python 绑定。
该包的最终目标是允许在 Python 中对 Asterisk 配置进行丰富的规范,而不是在我们称之为 Asterisk 配置文件的古怪、非结构化、无文档的混乱中。
工作功能
实现管理器客户端和事件调度器的 Python 包。管理器 API 的面向用户的命令行界面。