Python程序运行时查看对象状态怎样设计才能实现,python程序运行,不知大家有没有用过Rth


不知大家有没有用过Rthymbox的python console.

Rthymbox可以在运行的时候,让它的 交互式命令行 对程序进行控制. 比如说可以调用player的play函数,让它播放, 还可以查看一些变量的状态等 .(具体的控制函数等可以google)

我对他的总结就是, 他可以在程序运行状态下, 对程序的变量进行状态查看和控制.

我想问下大家,这种类似的功能, 需要怎样设计才能实现, 我想不到任何可以实现这个的思路.

以前用过 不过现在没有用了

这软件挺 open 的嘛,既提供 GUI 给用户,又提供 CLI 给用户。但我怀疑 CLI 只是给开发者自己用的,哈哈。

实现上倒没什么稀奇的,所有给人用的软件无论 CLI/GUI 都是这样的,简单讲就是:读取用户的输入 => 执行用户的输入 => 反馈结果给用户。这个过程是无限循环的,直到用户执行"退出"为止。

程序运行状态下,输出点信息,或者改下状态。嗯……… python自带交互式命令行(标准库自带的那个,暂且记下,我回头再翻翻),你可以直接输入 python 代码来执行。

评论区内容整理下贴上来咯,免得人家鄙视我灌水:

分分钟实现一个我是做不到的,不过思路可以大概说说:
先实现一个 Console,找个GUI库,弄个窗体改下它的外观和键盘响应,总之把它定制成命令行那样的输入风格,这部分工作量最大,但实现它后剩下的就简单了,如下:

pythonconsole = Console()while True:    pyCode = console.input(prefix=">>> ")    evalResult = eval(pyCode)    console.print(evalResult) # or console.output(evalResult)# over

当然,eval 时的错误也得一并输出到控制台。
在下以为像 ipython 用 QT 实现的那个 Console 就挺牛x,支持图像,提供了更多可能,可以参考下。
http://ipython.org/ipython-doc/stable/interactive/qtconsole.html

编橙之家文章,

评论关闭