在python中打印以前的打印件?

时间:2013-04-23 22:58:40

标签: python python-3.x

我正在用类似菜单的开头做一个脚本,我想知道我是否可以做这样的事情:

您打开文件并打印此菜单:

LOGO
Welcome to script 11 , what would you like to do?
-write a file
-read a file
-create a file
> #input here

您选择写入(例如)并将其打印在上一个打印菜单中,如果在之后:

LOGO
Writing a file!
-Select the path:
> #input here

感谢您的帮助。

编辑:我不想完全擦除屏幕(我已经看到了其他线程)但是如果有一种方法只擦除一些线条,但是回答告诉我,如果没有外部库所以我只是清理所有屏幕并重新打印一些东西,但感谢所有的anwsers

2 个答案:

答案 0 :(得分:2)

如果您使用的是Linux(或OSX),则可以使用curses module

如果您使用的是Windows,请使用console module

答案 1 :(得分:1)

如果您想显示多行菜单,并在每个菜单选项后显示一个全新菜单,则只有几种方法可以执行此操作:

  1. 打印每个菜单前清除屏幕。关于如何做到这一点,关于SO约有69102个问题; how to clear the screen in python与其中许多人有关联。

  2. 打印换页/页面Feed。哪些不适用于许多现代终端(Windows或Unix),但它在老式电视类型上发挥作用。

  3. 使用终端控制序列移动光标。如果cmd终端启用了ANSI(我相信它通常不是默认设置),并且如果你选择(或查找)正确的终端来发送控制序列,这将在Windows上工作。您还必须确保覆盖每个字符,而不仅仅是每个。否则,当你覆盖第2行时,你最终会得到“写一个文件!第11页,你想做什么?”。

  4. 使用curses(以及您最喜欢的第三方Windows curses端口)或其他终端图形库,可以在更高级别执行此操作。 (使用console编写单独的代码(如果存在) - 对于Windows而言curses,否则 - 对于几乎所有其他代码 - 通常是最简单的方法。)

  5. 我建议1或4,但这些是你的选择。