>백엔드 개발 >파이썬 튜토리얼 >Python\의 인쇄 출력을 파일로 리디렉션하는 방법과 실패할 수 있는 이유는 무엇입니까?

Python\의 인쇄 출력을 파일로 리디렉션하는 방법과 실패할 수 있는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-28 21:28:12458검색

How Can I Redirect Python's Print Output to a File and Why Might It Fail?

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

추가 고려 사항

  • glob.glob을 사용하여 지정된 경로 내에서 bamfile의 가용성을 확인하세요.
  • 효율적인 경로 및 파일 이름을 위해 os.path.join 및 os.path.basename을 활용하세요. 조작.

위 내용은 Python\의 인쇄 출력을 파일로 리디렉션하는 방법과 실패할 수 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.