Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用numpy将uint32整数写入4字节序列?_Python_Numpy_Byte_Uint32 - Fatal编程技术网

Python 如何使用numpy将uint32整数写入4字节序列?

Python 如何使用numpy将uint32整数写入4字节序列?,python,numpy,byte,uint32,Python,Numpy,Byte,Uint32,我声明了一个包含单个无符号整数的numpy ndarray: import numpy as np foo=np.array([3600000],dtype='uint32') 我想将这个数组存储到一个4字节的序列中。 我已经测试了一些选项,例如struct.pack()和struct.pack_into()方法,但没有结果。 我还尝试了numpy.ndarray.tobytes()方法,该方法将数组的内容转换为字节对象: bar=np.ndarray.tobytes(foo) 唉,输出

我声明了一个包含单个无符号整数的numpy ndarray:

import numpy as np  
foo=np.array([3600000],dtype='uint32')
我想将这个数组存储到一个4字节的序列中。 我已经测试了一些选项,例如struct.pack()和struct.pack_into()方法,但没有结果。 我还尝试了numpy.ndarray.tobytes()方法,该方法将数组的内容转换为字节对象:

bar=np.ndarray.tobytes(foo)
唉,输出字节对象的长度是4位! 如何控制输出字节序列的位数


非常感谢你的帮助

正如Warren Weckesser所指出的那样,
字节
对象的长度是以字节而不是位为单位给出的。
所以在这种情况下,
bar
确实有4个字节的长度。

“唉,输出字节对象有4个字节的长度!”我感到困惑。数组
foo
包含一个类型为
uint32
的元素(即无符号32位整数)。这是四个字节。为什么你对
条的长度是4感到失望?嗨,沃伦!谢谢你的回复;输出字节对象的长度为4位!很抱歉造成混乱;我将编辑我的问题以澄清这一点。
bar
是一个
bytes
对象,包含4个字节,而不是位。谢谢Warren!这绝对回答了我的问题!不太相关,但可以反向转换它
numpy.ndarray(buffer=,shape=,dtype=)