在 python cmd 中输入中心?

Center input in python cmd?

我正在 python 中开发经典 text-adventure 端口。

我想知道是否可以将用户输入居中? 我发现使用 str.center() 方法,我可以将打印的文本居中,但是,我无法将 python input() 函数居中。使用 str.center() 只是给我这个:

如您所见,输入从中间开始,然后一直向右延伸

我想做的是无论用户输入什么,它都像这样在中间: (如果你想知道,我没有解决我自己的问题,这只是一个使用打印而不是输入的模拟)

所以我想知道我该怎么做?完全使用 str.center() 或 Curses 或其他东西?

你可以用诅咒来做到这一点。 input()str.center() 不会有太大帮助,因为它们事先不知道屏幕的宽度(以及输入字符串时如何将输入字符串居中)。

使用 curses,您可以使用 filter function to set aside the current line of the screen (rather than erasing the whole screen...), create a window in that line using newwin and use mvwin 调整 window 的输入位置(或者只是 move 在原始 stdscr 中)。有几种方法可以用 curses 来实现这一点——但比 input().

更复杂