2017-01-29 9 views
0

파이썬의 curses 모듈로 화면의 마지막 위치 (오른쪽 하단)에 UTF8 문자를 쓰는 방법은 무엇입니까?파이썬 curses로 화면의 마지막 위치에 UTF8 문자 쓰기

작업이 처음에는 곧장 앞으로 보일 수 있지만 그렇지 않습니다. 우선, Python 2.x는 curses를 사용하여 UTF-8을 출력하는 incapable이므로 여기서는 Python 3.x라고 가정합니다. 그것을하기위한 두 가지 확실한 후보자가 있습니다 :

screen.insch(lines - 1, columns - 1, u"\u00a9") 

이것은 OverflowError: byte doesn't fit in chtype입니다. 파머. 이 경우 :

screen.addch(lines - 1, columns - 1, u"\u00a9") 

이 기능을하는 동안 화면을 스크롤합니다. 그래서 우리는 실제로 두 번째 마지막 행의 마지막 열에 썼습니다. 여전히 마지막 줄의 마지막 열에는 문자가 없습니다.

대부분의 위치에서 addch은 정상적으로 작동하지만 마지막에는 적합하지 않습니다. insch은 UTF8을 방금 망가 뜨 렸습니다.

답변

1

그것은 간단합니다 :

    실패로 인해 이동 과거 addch
  • 캐치와 문자를 추가 (무시) ​​오른쪽 하단
  • scrollok
  • 이동을 사용하여 스크롤 예외를 해제
  • 오른쪽 아래 구석.

ncurses는 삽입시 필요한 저글링을 수행합니다 ...