新着情報TOP > python curses 예제

python curses 예제

저주 라이브러리는 원래 BSD 유닉스를 위해 작성되었습니다; AT&T의 유닉스의 이후 시스템 V 버전은 많은 향상된 기능과 새로운 기능을 추가했다. BSD 저주가 더 이상 유지되지 않으며 AT&T 인터페이스의 오픈 소스 구현인 ncurses로 대체되었습니다. 리눅스 나 FreeBSD와 같은 오픈 소스 유닉스를 사용하는 경우, 시스템은 거의 확실히 ncurses를 사용합니다. 대부분의 상용 유닉스 버전은 System V 코드를 기반으로 하므로 여기에 설명된 모든 기능을 사용할 수 있습니다. 일부 독점 유닉스에 의해 수행 저주의 이전 버전은 모든 것을 지원하지 않을 수 있습니다, 그래도. 파이썬에서는 이러한 합병증을 방지하고 curses.wrapper() 함수를 가져 와서 디버깅을 훨씬 쉽게 만들 수 있습니다. 호출 가능하고 위에서 설명한 초기화를 수행하며 색상 지원이 있는 경우 색상을 초기화합니다. 그런 다음 제공된 호출 가능 을 실행하고 마지막으로 적절하게 초기 화합니다. 호출 가능은 예외를 catch하고, 저주 초기화를 수행한 다음 예외를 위쪽으로 전달하는 try-catch 절 내에서 호출됩니다. 따라서 터미널은 예외에 대한 재미있는 상태로 남아 있지 않습니다. 저주 응용 프로그램을 종료하는 것은 저주 응용 프로그램을 시작하는 것보다 훨씬 쉽습니다. 호출해야 합니다: 저주 응용 프로그램을 디버깅할 때 일반적인 문제는 응용 프로그램이 터미널을 이전 상태로 복원하지 않고 죽을 때 터미널을 엉망으로 하는 것입니다.

파이썬에서는 코드가 버그가 있고 catch되지 않은 예외가 발생할 때 일반적으로 발생합니다. 예를 들어 키를 입력할 때 키가 더 이상 화면에 에코되지 않으며 셸을 사용하기가 어렵습니다. 패드를 만들려면 저주 대신 curses.newpad()를 사용하여 매우 유사하게 합니다. 패드에서 새로 고침()을 호출 할 때 몇 가지 추가 인수를 제공해야합니다. 패드를 새로 고치려면 아무것도하기 전에 저주를 초기화해야합니다. 이는 터미널 유형을 결정하고, 필요한 설치 코드를 터미널로 보내고, 다양한 내부 데이터 구조를 만드는 initscr() 함수를 호출하여 수행됩니다. 성공하면 initscr()은 전체 화면을 나타내는 창 개체를 반환합니다. 일반적으로 해당 C 변수의 이름 다음에 stdscr이라고 합니다. 파이썬의 표준 저주 모듈에서 사용할 수있는 인터페이스 기능은 본질적으로 모든 유형의 “유리 텔레타이프”에서 사용할 수있는 기능으로 제한됩니다 (여기에 고고학은 저주의 1970 년대 기원을 나타냅니다).