我一直試圖將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
。我的意圖不是打印值的字符串表示,而是爲了以後使用/操作而有效地存儲它。