2024-04-25 17:49:36 发布
网友
假设我必须在一个文件中存储几个整数,比如1024、512、10240或900000,但条件是我只能使用4个字节(不小于或最大值),但是在使用write方法编写python文件时,它存储为“1024”、“512”或“10240”,即它们以ascii值编写,但我想直接存储它们的二进制值。
任何帮助都是值得赞赏的。
使用struct模块
>>> import struct >>> struct.pack("i",1024) '\x00\x04\x00\x00' >>> struct.pack("i",10240) '\x00(\x00\x00' >>> struct.pack("i",900000) '\xa0\xbb\r\x00'
在Python3中,可以使用int的to_bytes方法。1024左右的paren只需要1024。作为浮点数进行分析并会导致语法错误。
to_bytes
>>> (1024).to_bytes(4, "big") b'\x00\x00\x04\x00' >>> (1024).to_bytes(4, "little") b'\x00\x04\x00\x00'
The struct module就行了
>>> import struct >>> f = open('binary.bin','wb') >>> f.write(struct.pack("l",1024)) >>> f.close() vinko@parrot:~$ xxd -b binary.bin 0000000: 00000000 00000100 00000000 00000000 ....
使用struct模块
在Python3中,可以使用int的
to_bytes
方法。1024左右的paren只需要1024。作为浮点数进行分析并会导致语法错误。The struct module就行了
相关问题 更多 >
编程相关推荐