V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunrise1
V2EX  ›  程序员

控制台输出的同时,最下面一行允许用户输入,是如何实现的?

  •  
  •   sunrise1 · 2023-10-24 11:15:00 +08:00 · 453 次点击
    这是一个创建于 390 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开过 Minecraft 服务器的都知道,当你执行 jar 文件的时候,最后一行允许用户输入,上面其他行则能够正常输出,并且还能滑上去看之前的内容,而不是整个页面被刷新。
    当我想用 python 实现这个功能的时候,不是光标乱跑,就是经常无法输入,并且是整页都被刷新,无法查看之前的内容。
    请问这个功能是如何实现的呢?
    dengshen
        1
    dengshen  
       2023-10-24 11:46:36 +08:00 via iPhone
    有点意思 蹲个答案
    heelerdeer
        2
    heelerdeer  
       2023-10-24 16:00:09 +08:00
    curses 也许可以?
    heelerdeer
        3
    heelerdeer  
       2023-10-24 16:32:33 +08:00
    @heelerdeer 查了一下,感觉可以用 curses 开两个 pad,上面的 pad 实现滚动,下面的 pad 实现输入,
    开 pads: https://stackoverflow.com/questions/67386382/python-curses-splitting-terminal-window-in-4-pads-prefresh-returned-err
    滚动:https://github.com/mingrammer/python-curses-scroll-example
    sunrise1
        4
    sunrise1  
    OP
       2023-10-24 16:32:54 +08:00
    @heelerdeer 尝试过这个方法,但是效果很不理想,也有可能是我用的方法不太对
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3050 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:57 · PVG 21:57 · LAX 05:57 · JFK 08:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.