Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 명명된 파이프를 만들고 사용하는 방법은 무엇입니까?

<시간/>

FIFO는 일반 파일처럼 액세스할 수 있는 파이프입니다. FIFO는 삭제될 때까지 존재합니다(예:os.unlink() 사용). 일반적으로 FIFO는 "클라이언트"와 "서버" 유형 프로세스 간의 랑데부로 사용됩니다. 서버는 읽기를 위해 FIFO를 열고 클라이언트는 쓰기를 위해 엽니다. mkfifo()는 FIFO를 열지 않으며 단지 랑데뷰 지점을 생성합니다. FIFO(named pipe)를 생성하고 Python에서 사용하려면 os.mkfifo()를 사용할 수 있습니다. 그러나 mkfifo는 파일이 이미 존재하는 경우 파일이 존재한다는 예외와 함께 실패합니다. 이를 방지하기 위해 try-except 블록에 넣을 수 있습니다.

예를 들어

import os, sys
# Path to be created
path = "/tmp/hourly"
try:
    os.mkfifo(path)
except OSError, e:
    print "Failed to create FIFO: %s" % e
else:
    fifo = open(path, 'w')
print "Path is created"

이 프로그램을 실행하면 파이프가 생성되는 것을 기대할 수 있습니다.