표준 UNIX diff 명령과 파이썬 하위 프로세스 모듈을 사용하여 diff 파일을 만들어야합니다. 문제는 임시 파일을 만들지 않고 파일과 스트림을 비교해야한다는 것입니다. os.mkfifo 메서드를 통해 명명 된 파이프를 사용하는 방법에 대해 생각했지만 좋은 결과를 얻지 못했습니다. 제발, 당신은이 물건을 해결하는 방법에 대한 간단한 예를 쓸 수 있습니까?"즉시"파일 및 출력 스트림을 서로 비교하는 방법은 무엇입니까?
fifo = 'pipe'
os.mkfifo(fifo)
op = popen('cat ', fifo)
print >> open(fifo, 'w'), output
os.unlink(fifo)
proc = Popen(['diff', '-u', dumpfile], stdin=op, stdout=PIPE)
을하지만 두 번째 인수가 표시되지 않습니다 diff
것 같아 : 난 너무 좋아 했어요.
을 확인, 자세한 내용은 너무
같은 쉘 파이프 라인 및 공정을 이용하고 대체를 구성 할 수 있습니다, 당신은'Popen' 호출에'표준 입력 = PIPE'를 전달할 수 있습니다 , 그리고'proc.stdin.write (data)'를 호출한다. – LeafStorm