프로그래밍 언어/Python

파이썬에서 stderr로 출력하는 방법

Rateye 2021. 10. 25. 11:18
728x90
반응형
질문 : 파이썬에서 stderr로 인쇄하는 방법은 무엇입니까?

stderr에 쓰는 방법에는 여러 가지가 있습니다.

# Note: this first one does not work in Python 3
print >> sys.stderr, "spam"

sys.stderr.write("spam\n")

os.write(2, b"spam\n")

from __future__ import print_function
print("spam", file=sys.stderr)

그것은 zen of Python # 13 과 모순되는 것 같습니다. 그래서 여기서 차이점은 무엇이며 어떤 방법 으로든 장점이나 단점이 있습니까? 어떤 방법을 사용해야합니까?

분명한 방법이 하나 있어야합니다.

답변

나는 이것이 단 하나의 짧은 + 융통성 + 휴대용 + 읽기 쉬운 것을 발견했습니다.

from __future__ import print_function
import sys

def eprint(*args, **kwargs):
    print(*args, file=sys.stderr, **kwargs)
    

eprint 기능 print 기능과 동일한 방식으로 사용할 수 있습니다.

>>> print("Test")
    Test
    >>> eprint("Test")
    Test
    >>> eprint("foo", "bar", "baz", sep="---")
    foo---bar---baz
    
출처 : https://stackoverflow.com/questions/5574702/how-to-print-to-stderr-in-python
728x90
반응형