Python EOFError

Choihyunsu·2024년 3월 13일
post-thumbnail

Data Structures & Algorithms in Python 도서로 연습 문제를 풀다가
환경에 따른 EOFError exception handling 실행 차이를 발견했다.

질문

질문은 다음과 같다.

Write a Python program that repeatedly reads lines from standard input
until an EOFError is raised, and then outputs those lines in reverse order
( a user can indicate end of input by typing ctrl-D)

=>
python으로 input을 받다가 EOFError가 발생하면
input을 받았던 것들을 모두 받은 순서의 반대로 내보내라

output은 print()로 실행하라는 것과 같다

function 선언부

코드는 제일 빠른 코드인 지는 모르겠지만 이렇게 작성하고
파일을 실행했다.
Ctrl + D로 EOFError 유도를 하면 다음과 같이 된다.

OS에서 한 파이썬 파일을 동시에 process로 돌릴 수 없다는 문구가 뜬다.
Stop and Rerun하면
콘솔에서 input() 때 입력 창에서 입력부에서 파이썬이 돌아간다.
왜인지는 모르겠지만 실행을 중단하고 재실행하는 것 밖에는 되지 않는다.
실행에서 탈출하는 방법은
Cancel하고 직접 run을 stop하는 것도 있다
(실행 종료이므로 딱히 해결에 도움이 되지 않는다).

Pycharm이 자체적으로 스크립트를 종료시키려는 것 같다.

Pycharm Shortcuts PDF를 보니
^D는 run debug로 지정이 돼 있는 것 같다.

Preference> Keymap에서 찾아보니 debug로 설정이 돼 있다.
제거해서 다른 keymap으로 설정하면 아예 Ctrl + D가 신호를 전달하지 않는다.

Colab으로 실행

간단한 클라우드 코딩이나 프로그래머스의
Python web console을 쓰기 전에 그냥 colab으로 실행해 보았다.
교수님께서 강추하시길래..

Error handling 및 다음 부 실행이 잘 된다.

profile
Python Js Ts Java - Django Express NestJs Flask

0개의 댓글