这里有几个人正在寻找Python中的退格答案。我搜索过的所有问题都没有为我解答,所以这里是:
简单目标:能够在一行打印出状态字符串,其中下一个状态将覆盖第一个状态字符串。类似于%完成状态,而不是滚动1%\ n,2%,......等长行,我们只是用最新值覆盖第一行。
现在问题。当我在空闲时输入此内容:print("a\bc")
我将其作为输出:ac
,看起来像一个奇怪的方框,在'一个'和'c'。使用sys.stdout.write()
时会发生同样的事情。
这是空闲编辑器设置/问题吗?有没有人知道我在Idle Shell中尝试的是什么?
感谢您的任何见解。
PS:在Windows 7,64位系统上运行Python 3.3.2空闲。
编辑:在Notepad ++中复制输出显示Python正在打印出一个“退格”字符,而不是实际返回空格。也许我想要完成的是不可能的?答案 0 :(得分:3)
修改强>
显然回车\r
和退格\b
实际上不会在空闲状态下工作,因为它使用的文本控件无法正确呈现返回/退格。
你可以为Idle写一些补丁,但它可能比它的价值更麻烦(除非你真的喜欢闲置)
答案 1 :(得分:0)
这并不能用文字的方式回答你的问题,但我认为指出一般接口就像你所描述的那样(例如,屏幕的一部分不断更新,没有换行符)可能是有用的。 ),它通常只使用像ncurses这样的库来实现。
Python内置了一个curses库(http://docs.python.org/3.3/library/curses.html),它可以或多或少地达到你的最终目标。