Tuesday, January 09, 2007
Python/파이썬] print문 줄바꿈 없이 출력; No Newline, print, sys.stdout.write()
파이썬의 print문에서는 항상 다음줄로 줄바꿈을 합니다. 즉, 행의 끝에 강제로 개행문자를 넣는 것입니다. 이것이 불편할 때가 있습니다.
이 문제의 해결법은 2가지가 있습니다:
print ... 끝에 콤마(,) 를 찍는 것입니다. 그런데 이러면 줄바꿈이 일어나지 않지만, 그 다음 print문과의 사이에 공백(" ")이 하나 자동으로 들어가게 됩니다. 파이썬은 너무 친절한 언어인 것 같습니다^^;
만약 공백까지 완전히 없애려면 sys.stdout.write() 메소드(함수)로 출력해야 합니다. "표준출력"으로 직접 출력하는 것입니다.
그렇지만 대부분의 경우 "print + 쉼표"로 충분할 것입니다.
행갈이 없이, 한줄로 연결하여 문자열 출력 예제
실행 결과 화면:
printf 스타일에서는
print 'AAA %d' % (123),
이렇게 맨 뒤에 콤마를 찍으면 됩니다.
▶▶ Python/파이썬] 표준 에러 출력으로, 에러 메시지 출력하는 법: STDERR
이 문제의 해결법은 2가지가 있습니다:
print ... 끝에 콤마(,) 를 찍는 것입니다. 그런데 이러면 줄바꿈이 일어나지 않지만, 그 다음 print문과의 사이에 공백(" ")이 하나 자동으로 들어가게 됩니다. 파이썬은 너무 친절한 언어인 것 같습니다^^;
만약 공백까지 완전히 없애려면 sys.stdout.write() 메소드(함수)로 출력해야 합니다. "표준출력"으로 직접 출력하는 것입니다.
그렇지만 대부분의 경우 "print + 쉼표"로 충분할 것입니다.
행갈이 없이, 한줄로 연결하여 문자열 출력 예제
#!/usr/bin/python
# -*- coding: cp949 -*-
# print 끝에 콤마(,)를 넣어서
print 'AAA',
print 'BBB',
print '\n\n' # 빈 줄 3칸
# write() 메소드로
import sys
sys.stdout.write('CCC')
sys.stdout.write('DDD')
# -*- coding: cp949 -*-
# print 끝에 콤마(,)를 넣어서
print 'AAA',
print 'BBB',
print '\n\n' # 빈 줄 3칸
# write() 메소드로
import sys
sys.stdout.write('CCC')
sys.stdout.write('DDD')
실행 결과 화면:
D:\Z>0.py
AAA BBB
CCCDDD
D:\Z>
AAA BBB
CCCDDD
D:\Z>
printf 스타일에서는
print 'AAA %d' % (123),
이렇게 맨 뒤에 콤마를 찍으면 됩니다.
▶▶ Python/파이썬] 표준 에러 출력으로, 에러 메시지 출력하는 법: STDERR
tag: python
Python | 파이썬
<< Home