python程序运行时 查看对象状态
怪我咯
怪我咯 2017-04-17 14:48:31
[Python讨论组]

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

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

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

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

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
PHP中文网

这软件挺 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

ringa_lee

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号