한다고 가정 우리는 다음과 같은 더미 기능을 가지고 :sys.stdout
import sys
def writeline(text, stream=sys.stdout):
stream.write(text + '\n')
with open('/path/to/file', 'w') as f:
# writes to /path/to/file
writeline('foo', f)
# writes to standard output
writeline('bar')
파이썬은 기본 인수를 안전뿐만 sys.stdout
을 설정하고, 정의시 기능에 대한 기본 인수를 평가하거나 의도하지 않은 가질 수 있음을 감안할 때 부작용?
당신이 [일시적으로 리디렉션'클라이언트 코드 내에서 stdout'] 있습니다하지 않는 한 (http://stackoverflow.com/questions/6796492/temporarily-redirect- stdout-stderr), 괜찮을 겁니다. 이 리디렉션을 원할 경우 함수는 여전히 원래 stdout에 대한 참조를 보유하므로 리디렉션이 작동하지 않습니다. –