在命令行展現下,有如下兩種場景。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 ")