ฉันพยายามใช้เวลานาน 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 เป็น bytearray หรือบัฟเฟอร์สำหรับการเขียน ฉันควรใช้ io หรือ memoryview ฯลฯ
ขอบคุณมากล่วงหน้าสำหรับความช่วยเหลือใด ๆ ที่ทุกคนสามารถให้ได้ :)
ฉันใช้ Python 2.7.3 และฉันชอบโมดูลในตัวถ้าเป็นไปได้
แก้ไข: ฉันกำลังพยายามจัดเก็บค่าเป็นไฟล์ไบนารีซึ่งจะใช้พื้นที่บนดิสก์/หน่วยความจำน้อยกว่ามาก ฉันเข้าใจว่าประเภท bin เป็นสตริงใน python แต่ฉันกำลังพยายามเขียน \x11\x11\x11\x11 not \x31\x31\x31\x31
จุดประสงค์ของฉันคือไม่พิมพ์การแสดงสตริงของค่า แต่เพื่อจัดเก็บอย่างมีประสิทธิภาพเพื่อใช้/จัดการในภายหลัง