5

我已经开始玩弄祝福了——到目前为止,我非常喜欢它,因为它确实让事情变得更容易了。但是我试图清除屏幕但没有成功......enter_fullscreen似乎可以工作,因为这会“清除”它 - 但exit_fullscreen不会让我回到原来的视图。

term = blessings.Terminal()
term.enter_fullscreen

with term.location():
    print(term.move(0,(term.width/2)-7) + term.bold_green("Test Test Test"))
    print(term.move(5,(term.width/2)-7) + term.bold_red("Test Test Test"))

time.sleep(5)
term.clear
term.exit_fullscreen

这工作除了清楚,exit_fullscreen似乎。没有错误消息或任何东西,它似乎没有做任何事情。

有谁知道它是如何工作的?

编辑:都不是

term.clear

也不

term.clear()

似乎工作...

编辑2:

我几乎可以做到这一点,结果与上面相同。它进行着色和放置,但不进行清除或其他任何操作。

term = blessings.Terminal()

with term.location():
    print(term.move(0,(term.width/2)-7) + term.bold_green("Test Test Test"))
    print(term.move(5,(term.width/2)-7) + term.bold_red("Test Test Test"))
4

2 回答 2

6

就像 Blessings 公开的所有其他功能一样,您必须对print它们产生任何影响。幕后发生的事情是您的终端仿真器正在“侦听”某些序列,然后它通过采取诸如切换全屏模式或切换全屏模式之类的操作来响应。因此,就您而言,说print term.enter_fullscreen应该可以解决问题。如果您还有其他问题,请告诉我!

于 2013-09-05T16:22:48.813 回答
1

当我阅读您的问题(我自己也面临同样的问题)时,我意识到我忘记了所有term.some_formatting()调用都返回了一个值,然后您必须打印该值。clear 函数仅返回适当的转义序列。

如果您添加: print(term.clear()) 当您希望它被清除时,它应该可以工作。

此外,我遇到了 ex_fullscreen 的问题,所以我使用了全屏的包装样式调用:

with term.fullscreen():
    a_function_or_some_code()

退出代码块后,您应该会返回到之前的状态。

于 2013-05-30T08:00:07.330 回答