ftplib 패키지를 사용하여 Python FTP 클라이언트를 개발할 때 패키지 내의 특정 기능에 문자열 출력이 부족한 경우가 발생할 수 있습니다. 대신 표준 출력(stdout)으로 인쇄합니다. 이 문제를 해결하려면 stdout을 편리하게 읽을 수 있는 객체로 리디렉션하는 것이 필요합니다.
open()을 통한 파일 기반 리디렉션도 옵션이지만 로컬 드라이브를 활용하지 않는 대체 방법은 다음과 같습니다. 더 효율적입니다. Java의 BufferedReader는 버퍼를 스트림으로 래핑하는 귀중한 예를 제공합니다.
Python에서 유사한 기능을 얻으려면 다음 접근 방식을 사용하십시오.
from cStringIO import StringIO # Python3 use: from io import StringIO import sys old_stdout = sys.stdout sys.stdout = mystdout = StringIO() # Execute code that would normally print to stdout ... sys.stdout = old_stdout # Obtain the captured output as a string from mystdout.getvalue()
stdout을 StringIO 인스턴스로 리디렉션하면 필요할 때마다 출력을 문자열로 캡처하고 검색할 수 있습니다. 이 기술을 사용하면 유연성이 향상되고 외부 파일이 개입할 필요가 없습니다.
위 내용은 Python의 표준 출력을 문자열 버퍼로 어떻게 리디렉션할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!