我一直在尝试使用 long int (m39 prime) 并将其存储为二进制文件。当我尝试将 bin 值写入文件时,它被写入为字符串。
>>> m39 = bin(2**13466917-1)
>>> open('m39', 'wb').write(m39)
madsc13ntist@jaberwock:~/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 转换为字节数组或用于写入的缓冲区。我应该使用io还是memoryview等?
非常感谢任何人都可以提供的任何帮助。:)
我正在使用 Python 2.7.3,如果可能的话,我更喜欢使用内置模块。
编辑:我正在尝试将值存储为二进制文件,这将在磁盘/内存上占用更少的空间。我知道 bin 类型是 python 中的字符串,但我正在尝试编写\x11\x11\x11\x11 not \x31\x31\x31\x31
. 我的意图不是打印值的字符串表示,而是有效地存储它以供以后使用/操作。