在命令行展现下,有如下两种场景。python
跟c语言相似,打印使用回车符'\r'。以下例。ios
import time for i in range(100): print("\r当前下载进度{i}%,请耐心等待".format(i=i), end='') time.sleep(0.1) print("\r下载完毕。 ")
在命令行下,向两个用户展现两条信息。ubuntu
以下所示。其中wait_key函数支持windows/ubuntu。windows
import os import sys import tty import termios def wait_key(): ''' Wait for a key press on the console and return it. ''' result = None if os.name == 'nt': import msvcrt result = msvcrt.getch() else: import termios fd = sys.stdin.fileno() oldterm = termios.tcgetattr(fd) newattr = termios.tcgetattr(fd) newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO termios.tcsetattr(fd, termios.TCSANOW, newattr) try: result = sys.stdin.read(1) except IOError: pass finally: termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm) return result def cmp(a, b): return (a > b) - (a < b) def wait_enter_key(): while cmp(wait_key(), '\n') != 0: pass # 显示信息1 print("信息1 (按下[回车]键,将隐藏信息1)", end='') sys.stdout.flush() # 回车后隐藏信息1 wait_enter_key() print("\r请再次按下[回车]键,将显示信息2 ", end='') # 再次回车后显示信息2 wait_enter_key() print("\r信息2 ")