从cStringIO对象创建Python array.array对象

从cStringIO对象创建Python array.array对象,python,stringio,Python,Stringio,我想从cStringIO对象创建array.array对象: 但我有以下例外: array.array似乎正在检查第一个参数的类型,这使得它与cStringIO和StringIO不兼容。有什么方法可以让这个工作正常吗?为什么不使用.fromstring?由于StringIO缓冲区完全位于内存中,因此尝试使用文件api将位从一个内存位置读取到另一个内存位置没有任何好处 a = array.array('c') a.fromstring(s) 如果您出于其他原因将StringIO用作内存缓冲区,或

我想从cStringIO对象创建array.array对象:

但我有以下例外:


array.array似乎正在检查第一个参数的类型,这使得它与cStringIO和StringIO不兼容。有什么方法可以让这个工作正常吗?

为什么不使用.fromstring?由于StringIO缓冲区完全位于内存中,因此尝试使用文件api将位从一个内存位置读取到另一个内存位置没有任何好处

a = array.array('c')
a.fromstring(s)

如果您出于其他原因将StringIO用作内存缓冲区,或者之前将其用作文件,则可以使用StringIO的getvalue函数来获取字符串值。

为什么不使用.fromstring?由于StringIO缓冲区完全位于内存中,因此尝试使用文件api将位从一个内存位置读取到另一个内存位置没有任何好处

a = array.array('c')
a.fromstring(s)

如果您出于其他原因将StringIO用作内存缓冲区,或者之前将其用作文件,则可以使用StringIO的getvalue函数来获取字符串值。

谢谢!我正在解析一个文本与二进制有效载荷交织的文件,因此为了做到这一点,我必须使用a.fromstrings[f.tell:bin_data_end],然后使用f.seekThanks向前移动StringIO!我正在解析一个文本与二进制有效载荷交织的文件,因此为了做到这一点,我必须使用a.fromstrings[f.tell:bin_data_end],然后使用f.seek向前移动StringIO
a = array.array('c')
a.fromstring(s)