Python 코드에 대한 출력 리디렉션
쿼리는 Python을 사용하여 인쇄 문을 지정된 텍스트 파일로 리디렉션하는 데 중점을 둡니다. sys.stdout 기술을 사용함에도 불구하고 대상 파일은 비어 있습니다. 이 문서의 목적은 문제를 탐색하고 대체 솔루션을 제공하는 것입니다.
출력을 위해 파일 객체 활용
가장 간단한 접근 방식은 파일 객체에 직접 쓰는 것입니다.
with open('out.txt', 'w') as f: print('Filename:', filename, file=f) # Python 3.x # print >> f, 'Filename:', filename # Python 2.x
리디렉션 표준 출력
또는 다음 코드를 사용하여 stdout 리디렉션을 수행할 수 있습니다.
import sys orig_stdout = sys.stdout f = open('out.txt', 'w') sys.stdout = f for i in range(2): print('i = ', i) sys.stdout = orig_stdout f.close()
표준 라이브러리 컨텍스트 관리자 사용
Python의 경우 3.4 이상에서는 전용 컨텍스트 관리자가 이를 단순화할 수 있습니다. 프로세스:
from contextlib import redirect_stdout with open('out.txt', 'w') as f: with redirect_stdout(f): print('data')
외부 출력 리디렉션
셸을 통해 출력을 외부로 리디렉션하는 것도 실행 가능한 또 다른 옵션입니다.
./script.py > out.txt
추가 고려 사항
위 내용은 Python\의 인쇄 출력을 파일로 리디렉션하는 방법과 실패할 수 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!