如何在python的二進制文件中存儲和檢索數字2 ** 10000而不將其轉換爲字符串?它可以存儲爲10,000位嗎?如何將任意長的int存儲到Python中的二進制文件?
2
A
回答
3
內置pickle模塊可以做到這一點,如果你在協議版本通過2(「新的二進制協議」):
import pickle
pickle.dumps(2**10000, 2)
返回的1259個字節的字符串。當然,你想寫它到一個正常的文件,所以使用pickle.dump(2**10000, file, 2)
2
我不清楚如果你一般問如何在二進制文件中存儲大整數或如果數字2 ** 10000意義重大。如果它是有意義的,那麼使用超過千字節來存儲它顯然是非常浪費的(我可以寫成8個字符!)
我假設一般情況下,但對於初學者,你需要10001位來存儲2 ** 10000,而不是10000,所以有一個問題是如何處理填充文件中字節邊界所需的額外7位。我只是將它存儲在10008位(1251字節)中。該解決方案使用bitstring模塊。
from bitstring import BitArray
fout = open('bignumber', 'wb')
a = BitArray(uint=2**10000, length=10008)
a.tofile(fout)
,並讀回:
the_number = BitArray(filename='bignumber').uint
這確實只是存儲的數量和文件中沒有別的。
相關問題
- 1. C++如何將整數存儲到二進制文件?
- 2. 將二進制值存儲到unsigned int數組中
- 3. SQL Server的二進制文件存儲
- 4. 將數值從二進制文件存儲到數組中 - C++
- 5. 如何通過TableServiceEntity將二進制文件保存到Azure表存儲?
- 6. 的Python:二進制文件
- 7. 二進制文件:如何將.csv保存爲二進制文件.dat
- 8. Python將二進制字符串轉換爲二進制int
- 9. 將「結構」數據存儲到二進制文件
- 10. 將二進制文件存儲到hbase與豬
- 11. Python將long int作爲二進制值寫入文件
- 12. 如何尋找並追加到Python中的二進制文件?
- 13. 如何在二進制文件中存儲有序整數集?
- 14. Microsoft Word二進制文件如何存儲在Hive中?
- 15. 如何在節點js中存儲大型二進制文件?
- 16. 如何在結構中存儲二進制文件數據?
- 17. 將int保存爲二進制文件c
- 18. 如何將\ 0插入到C中的二進制文件中
- 19. 如何將文本和二進制文件存儲在hsqldb數據庫中?
- 20. 如何將Excel HTML文本文件保存到Excel xls二進制文件中?
- 21. 將文件內容(二進制數據)存儲在plone.app.registry中
- 22. ActionScript 3:如何將二進制數據保存到文件
- 23. 如何將矢量保存到二進制文件?
- 24. Python中的文本到二進制
- 25. 在RStudio構建二進制文件之後將二進制文件移動到本地存儲庫
- 26. Rails:將二進制字段的內容保存到文件中
- 27. 從udp()對象編組任意長度的二進制數據
- 28. 嘗試將二進制文件部署到已存儲其他二進制文件的位置現有二進制文件
- 29. 如何將新的二進制文件複製到C:\ Program Files?
- 30. 如何將二進制字符串以二進制形式存儲在文件中?
在我的情況下,我每次都存儲完全相同的位數,所以下次我查看代碼時,我會檢查這是否更快,謝謝。 – Mark 2010-04-25 20:15:06