2017-08-02 5 views
2

どこでも検索しようとしましたが、関連する情報は見つかりませんでした。pythonはメモリビューを文字列に変換します

次のコードの結果:

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オブジェクトを読み取るにはどのようなアイデアですか? memoryオブジェクトがそうのような.tobytes()を使用して文字列に変換することができ、あなたに

+1

あなたが(HTTPS [、最小完全、かつ検証例]であることをあなたの質問を更新してみてくださいでした:/ /stackoverflow.com/help/mcve)? – mattjegan

+0

'data'は' bytes'や 'string'の代わりに' memoryview'を返す 'hr、data = win32file.ReadFile()'です。私はそれに対処する方法を知ることができませんでした – Masha

答えて

5

ありがとう:

a = memoryview('mystring') 
print(a) # <memory at 0x10cbebb98> 
print(a.tobytes()) # 'mystring' 
関連する問題