2017-11-09 10 views
2

N 개의 프로세스를 생성하고 상태를 모니터링했습니다. 그래서, 각각에 상태가 바뀌면서 화면에 N 줄을 인쇄하고 싶습니다.화면에서 파이썬으로 N 줄을 업데이트하는 방법은 무엇입니까?

어떻게 파이썬으로 이것을 할 수 있습니까?

나는 재사용이 가능하지 않습니다. 그러한 업데이트에 tqdm과 같은 라이브러리가 있습니까?

+0

파이썬의 저주 튜토리얼을 보셨습니까? https://docs.python.org/3/howto/curses.html – kay

답변

0

당신은 몇 터미널 이스케이프 코드로이 작업을 수행 할 수 있습니다이 후

def up(lines=1): 
    clearline = '\033[2K' # clear a line 
    upline = '\033[1A' # Move cursor up a line 
    for _ in range(lines): 
     sys.stdout.write(upline) 
     sys.stdout.write(clearline) 

당신은 당신의 상태 라인을 재 인쇄 할 수 있습니다. : 그리고 당신이 만발한 투이을하는 경우

import sys 
from time import sleep 

def up(lines=1): 
    clearline = '\033[2K' # clear a line 
    upline = '\033[1A' # Move cursor up a line 
    for _ in range(lines): 
     sys.stdout.write(upline) 
     sys.stdout.write(clearline) 

num_lines = 3 
for i in range(10): 
    for l in range(num_lines): 
     sys.stdout.write('{} hello\n'.format(i*l+i)) 
    sys.stdout.flush() 
    sleep(0.5) 
    up(num_lines) 

하는 것은 물론, 당신이 저주 같은 또는 urwid

을 사용할 수 있습니다 : 여기
sys.stdout.flush() 

전체 작업 프로그램이 시연입니다