不知大家有没有用过Rthymbox的python console.
Rthymbox可以在运行的时候,让它的 交互式命令行 对程序进行控制. 比如说可以调用player的play函数,让它播放, 还可以查看一些变量的状态等 .(具体的控制函数等可以google)
我对他的总结就是, 他可以在程序运行状态下, 对程序的变量进行状态查看和控制.
我想问下大家,这种类似的功能, 需要怎样设计才能实现, 我想不到任何可以实现这个的思路.
不知大家有没有用过Rthymbox的python console.
Rthymbox可以在运行的时候,让它的 交互式命令行 对程序进行控制. 比如说可以调用player的play函数,让它播放, 还可以查看一些变量的状态等 .(具体的控制函数等可以google)
我对他的总结就是, 他可以在程序运行状态下, 对程序的变量进行状态查看和控制.
我想问下大家,这种类似的功能, 需要怎样设计才能实现, 我想不到任何可以实现这个的思路.
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
这软件挺 open 的嘛,既提供 GUI 给用户,又提供 CLI 给用户。但我怀疑 CLI 只是给开发者自己用的,哈哈。
实现上倒没什么稀奇的,所有给人用的软件无论 CLI/GUI 都是这样的,简单讲就是:读取用户的输入 => 执行用户的输入 => 反馈结果给用户。这个过程是无限循环的,直到用户执行"退出"为止。
程序运行状态下,输出点信息,或者改下状态。嗯……… python自带交互式命令行(
标准库自带的那个,暂且记下,我回头再翻翻
),你可以直接输入 python 代码来执行。评论区内容整理下贴上来咯,免得人家鄙视我灌水
:分分钟实现一个我是做不到的,不过思路可以大概说说:
先实现一个 Console,找个GUI库,弄个窗体改下它的外观和键盘响应,总之把它定制成命令行那样的输入风格,这部分工作量最大,但实现它后剩下的就简单了,如下:
当然,eval 时的错误也得一并输出到控制台。
在下以为像 ipython 用 QT 实现的那个 Console 就挺牛x,支持图像,提供了更多可能,可以参考下。
http://ipython.org/ipython-doc/stable/interactive/qtconsole.html