6
안녕하세요 두 파이썬 파일 (명명 된 파이프)반드시 CreateNamedPipe
a.py
import win32pipe, win32file
p = win32pipe.CreateNamedPipe(r'\\.\pipe\test_pipe',
win32pipe.PIPE_ACCESS_DUPLEX,
win32pipe.PIPE_TYPE_MESSAGE | win32pipe.PIPE_WAIT,
1, 65536, 65536,300,None)
win32pipe.ConnectNamedPipe(p, None)
data = "Hello Pipe"
win32file.WriteFile(p, data)
이 파이프는 명명 된 파이프 "test_pipe"를 생성하고, 파이프에 데이터를 쓰고있다. 난 아무 문제없이 데이터를 얻을 수 있어요
import win32pipe, win32file
import win32file
fileHandle = win32file.CreateFile("\\\\.\\pipe\\test_pipe",
win32file.GENERIC_READ | win32file.GENERIC_WRITE,
0, None,
win32file.OPEN_EXISTING,
0, None)
data = win32file.ReadFile(fileHandle, 4096)
print data
b.py. 하지만 난 얻을 데이터가 (내가 따옴표로 출력을 동봉)
"<0, Hello Pipe>"
을 모든 변수가 인쇄되는 이유를 알아낼 수없는 생각이 형태 (<, 0>) 여기서 문제는 a.py 또는 b.py에서 어떻게 해결할 수 있는지 알려주세요.
또한 하나 호출하여 에러 메시지를 출력 할 수 ['win32api.FormatMessage (데이터 [0]) '(http://docs.activestate.com/activepython/2.4/pywin32/win32api__FormatMessage_meth.html) 또는 더 나은 방법은 오류 문자열로 생성 된 IOError를 발생시키는 것입니다. – user4815162342