Python 출력을 텍스트 파일로 리디렉션
Python을 사용하여 인쇄 출력을 텍스트 파일로 리디렉션하려고 할 때 선택한 경우 문제가 발생할 수 있습니다. 방법을 사용하면 원하는 결과가 나오지 않습니다.
문제 설명
다음 코드는 sys.stdout을 사용하여 출력을 파일로 리디렉션하는 데 실패합니다.
f = open('output.txt','w') sys.stdout = f path= '/home/xxx/nearline/bamfiles' bamfiles = glob.glob(path + '/*.bam') for bamfile in bamfiles: filename = bamfile.split('/')[-1] print 'Filename:', filename
Solution
sys 대신 .stdout, 파일 객체 사용을 고려해보세요. 인쇄:
with open('out.txt', 'w') as f: print('Filename:', filename, file=f) # Python 3.x
대체 솔루션
from contextlib import redirect_stdout with open('out.txt', 'w') as f: with redirect_stdout(f): print('data')
./script.py > out.txt
추가 고려 사항
위 내용은 Python 인쇄 출력을 텍스트 파일로 올바르게 리디렉션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!