subprocess.check_call()
을 호출하면 stdout에 대한 파일 객체를 지정할 수 있지만 데이터를 파일에 기록하기 전에 해당 파일을 행 단위로 수정하고 싶습니다. check_call
완료 후stdout을 subprocess.check_call에서 함수로 리디렉션 하시겠습니까?
나는 현재 tempfile.TemporaryFile()
에 의해 만들어진 임시 파일 (출력을 리디렉션합니다. 저는 임시 파일의 줄 단위는 최종 출력 파일을 수정을 쓰기 읽어 보시기 바랍니다.
를 출력하기 때문에 메모리 솔루션에-가능하지 않습니다 나는 즉석에서 데이터를 수정하고 직접 최종 출력 파일에 기록하고 싶은, 큰 순수한입니다.
이사람이 그것을 달성하는 방법을 알고 있나요?
-1 : 아니요. 서브 프로세스가'.fileno()'메소드를 가진 객체를 필요로하고, 반환 된 파일 설명자에 직접 씁니다. 사실, 파일 기술자는 서브 프로세스에 직접 전달되기 때문에 파이썬은 작성에 관여하지 않습니다. – nosklo
이상한 필자는 .fileno()없이 파일과 유사한 객체를 전달할 수 있다는 것을 기억했다. 오 잘. 내 실수 야. – ssokolow