Saya telah mencoba mengambil int panjang (m39 prime) dan menyimpannya sebagai file biner. Ketika saya mencoba menulis nilai bin ke file, itu ditulis sebagai string.
>>> 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
Saya merasa cukup yakin bahwa ada jawaban yang sangat sederhana untuk ini, tetapi saya belum berhasil mengubah m39 menjadi bytearray atau buffer untuk menulis. Haruskah saya menggunakan io atau memoryview, dll.
Terima kasih banyak sebelumnya atas bantuan apa pun yang dapat diberikan oleh siapa pun. :)
Saya menggunakan Python 2.7.3 dan saya lebih suka menggunakan modul bawaan jika memungkinkan.
EDIT: Saya mencoba menyimpan nilai sebagai file biner yang akan menempati lebih sedikit ruang pada disk/memori. Saya memahami bahwa tipe bin adalah string dengan python tetapi saya mencoba menulis \x11\x11\x11\x11 not \x31\x31\x31\x31
. Maksud saya bukan untuk mencetak representasi string dari nilai, tetapi untuk menyimpannya secara efisien untuk digunakan/manipulasi nanti.