>백엔드 개발 >파이썬 튜토리얼 >Python에서 콘솔 출력을 파일로 어떻게 리디렉션할 수 있나요?

Python에서 콘솔 출력을 파일로 어떻게 리디렉션할 수 있나요?

DDD
DDD원래의
2024-12-06 17:54:14793검색

How Can I Redirect Console Output to a File in Python?

콘솔 출력을 파일로 리디렉션

Python에서 stdout 스트림을 파일로 리디렉션하면 개발자가 인쇄된 출력을 캡처하고 저장할 수 있습니다. 이를 달성하기 위해 sys.stdout 속성을 조작할 수 있습니다. 그러나 최근 원래 질문에 설명된 접근 방식으로 원하는 결과가 생성되지 않는 문제가 보고되었습니다.

문제 해결

문제는 잘못된 인쇄할 때 file= 매개변수를 사용합니다. Python 버전 3.x 이상에서 올바른 구문은 print('파일 이름:', 파일 이름, 파일=f)입니다. Python 2.x의 경우 print >> f, 'Filename:', filename.

또는 with 문을 사용하여 stdout을 보다 간결하게 리디렉션할 수 있습니다:

추가 방법

sys.stdout을 사용하는 것 외에도 리디렉션하는 다른 방법이 있습니다. 출력:

  • 파일 객체 사용: 아래와 같이 파일 객체에 직접 쓰기:

  • 외부 쉘 리디렉션: > 출력을 리디렉션하기 위한 셸의 연산자:

문제 해결

제공된 스크립트에서 다음을 확인하세요.

  • 지정된 경로(/home/xxx/nearline/bamfiles)에 유효한 .bam이 포함되어 있습니다. 파일
  • glob.glob 함수는 해당 파일을 올바르게 식별합니다
  • samtools 실행 파일의 전체 경로가 정확합니다(/share/bin/samtools/samtools)

향상된 결과

구문이 수정되고 파일 개체가 있으면 예상되는 출력은 다음과 같습니다.

이 업데이트된 스크립트 버전은 출력을 캡처하여 output.txt 파일로 리디렉션합니다.

위 내용은 Python에서 콘솔 출력을 파일로 어떻게 리디렉션할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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