我一直试图将long int(m39 prime)作为二进制文件存储。 当我尝试将bin值写入文件时,它将被写为一个字符串。Python将long int作为二进制值写入文件
>>> m39 = bin(2**13466917-1)
>>> open('m39', 'wb').write(m39)
[email protected]:~/Desktop$ xxd m39 | head
0000000: 3062 3131 3131 3131 3131 3131 3131 3131 0b11111111111111
0000010: 3131 3131 3131 3131 3131 3131 3131 3131 1111111111111111
0000020: 3131 3131 3131 3131 3131 3131 3131 3131 1111111111111111
0000030: 3131 3131 3131 3131 3131 3131 3131 3131 1111111111111111
0000040: 3131 3131 3131 3131 3131 3131 3131 3131 1111111111111111
0000050: 3131 3131 3131 3131 3131 3131 3131 3131 1111111111111111
0000060: 3131 3131 3131 3131 3131 3131 3131 3131 1111111111111111
0000070: 3131 3131 3131 3131 3131 3131 3131 3131 1111111111111111
0000080: 3131 3131 3131 3131 3131 3131 3131 3131 1111111111111111
我感觉相当肯定,有一个可笑的简单的答案,但我还没有成功地转换成M39的ByteArray或写入缓冲区。我应该使用io还是memoryview等
非常感谢任何人可以提供任何援助。 :)
我正在使用Python 2.7.3,我更喜欢我们内置模块,如果可能的话。
编辑:我试图将值存储为一个二进制文件,将占用磁盘/内存上少得多的空间。我知道bin类型是python中的一个字符串,但我正在尝试编写\x11\x11\x11\x11 not \x31\x31\x31\x31
。我的意图不是打印值的字符串表示,而是为了以后使用/操作而有效地存储它。