2017-08-02 46 views
2

我試圖到處搜索,但無法找到任何相關信息。蟒蛇將內存視圖轉換爲字符串

如下面的代碼的結果:

overlapped = pywintypes.OVERLAPPED() 
buffer = win32file.AllocateReadBuffer(1024*4) 
fullDataRead = [] 
hr, data = win32file.ReadFile(handle, buffer, overlapped) 
n = win32file.GetOverlappedResult(handle, overlapped, 1) 
read = str(data[:n]) 
fullDataRead.append(read) 
print(fullDataRead) 

我得到

['<memory at 0x0000026821801348>'] 

,但我需要字符串或者是內部字節。任何想法如何閱讀memoryview對象?謝謝

+1

能不能請你更新你的問題是一個[最小,完整,可驗證的示例](HTTPS:/ /stackoverflow.com/help/mcve)? – mattjegan

+0

這只是一個'hr,data = win32file.ReadFile()'在'data'中返回的是'memoryview'而不是'bytes'或'string'。我找不到任何信息如何處理它 – Masha

回答

5

一個memory對象可以被轉換成使用.tobytes()像這樣的字符串:

a = memoryview('mystring') 
print(a) # <memory at 0x10cbebb98> 
print(a.tobytes()) # 'mystring'