2013-02-13 41 views
6

我正在讀取二進制文件(ogg vorbis)並提取一些數據包供以後處理。這些數據包是python字節對象,我們可以用「read(n_bytes)」方法來讀取它們。現在,我的代碼是這樣的:如何在Python中讀取字節流3

packet = b'abcd' 
some_value = packet[0:2] 
other_value = packet[2:4] 

我想是這樣的:

packet = b'abcd' 
some_value = packet.read(2) 
other_value = packet.read(2) 

如何創建從一個字節對象可讀流?

回答

10

您可以使用io.BytesIO類文件對象

>>> import io 
>>> file = io.BytesIO(b'this is a byte string') 
>>> file.read(2) 
b'th' 
>>> file.read(2) 
b'is'