ciao Ho due file python (NamedPipe)CreateNamedPipe in pitone
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)
questo tubo crea un NamedPipe "test_pipe" e scrive i dati nel tubo.
b.py
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
io sono in grado di ottenere i dati senza alcun problema. ma i dati che ottengo è in questa forma (ho racchiuso l'uscita tra virgolette)
"<0, Hello Pipe>"
Non riesco a capire il motivo per cui tutte queste variabili sono in corso di stampa (<, 0,>), dove è il problema in a.py o b.py e come posso risolvere questo problema.
Inoltre, si può stampare il messaggio di errore chiamando [win32api.FormatMessage (dati [0]) ''] (http://docs.activestate.com/activepython/2.4/pywin32/win32api__FormatMessage_meth.html) o, meglio ancora, genera un 'IOError' costruito con la stringa di errore. – user4815162342