chào Tôi có hai file python (namedpipe)createNamedPipe trong python
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)
ống này tạo ra một namedpipe "test_pipe" và ghi dữ liệu vào ống.
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
i am có thể lấy dữ liệu mà không cần bất kỳ vấn đề. nhưng dữ liệu tôi nhận được là theo hình thức này (tôi đã kèm theo sản lượng trong dấu ngoặc kép)
"<0, Hello Pipe>"
Tôi không thể tìm ra lý do tại sao tất cả các biến này đang được in (<, 0,>) mà là vấn đề trong a.py hoặc b.py và cách tôi có thể sửa lỗi này.
Thêm vào đó, người ta có thể in được thông báo lỗi bằng cách gọi [ 'win32api.FormatMessage (dữ liệu [0])'] (http://docs.activestate.com/activepython/2.4/pywin32/win32api__FormatMessage_meth.html) hoặc, tốt hơn, nâng một 'IOError' được xây dựng với chuỗi lỗi. – user4815162342