새소식

프로그래밍/Python

while문 안에서 print(~,end=' ')을 주었을 때 출력되지 않는 오류

  • -

python3로 스크립트를 만들던 중 while문 안에 print(~,end=' ')을 주면 출력이 안 되다가 스크립트가 종료될 때 한 번에 print문의 내용들이 출력되는 오류를 발견했다.

 

백문이 불여일견이니 코드를 보도록하자

 

while True:
    print('.', end='')
    sleep(1)

 

 

위 코드를 실행한 결과이다. 원래 의도대로라면 화면에 ..... 이런 식으로 찍혀야 하지만 아무것도 출력이 되지 않고 있다.

 

그리고 스크립트를 강제로 종료하면 출력되지 않았던 ...이 화면에 보이게 된다.

 

 

 

이 문제를 해결하는 방법은 간단하다.

 

while True:
    print('.', end='', flush=True)
    sleep(1)

 

flush=True 인자를 넣어주면 해결이 된다. flush 인자에 대한 궁금한 분들은 밑에 링크를 참고하면 좋을 것 같다.

 

 

https://gist.github.com/shoark7/fa0a66bfc37d63890603a276f974f0b6

 

Python의 print 함수에 대해 좀더 알아봅니다.

Python의 print 함수에 대해 좀더 알아봅니다. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

 

 

 

 

'프로그래밍 > Python' 카테고리의 다른 글

파이썬 코딩 스타일  (0) 2020.07.16
모듈 설치 하는 방법  (0) 2020.07.16
문자열 포맷팅  (0) 2020.07.08
자료형  (0) 2020.07.07
기본 문법  (0) 2020.07.04
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.