是否用零初始化numpy.memmap數組?這在哪裏記錄?可以將已存在的舊 numpy.memmap文件(與先前執行的腳本)的內容加載到新的numpy.memmap而不是用零代替嗎?謝謝!Python:numpy.memmap零,reusage,文檔?
2
A
回答
0
的memmap
doctest
例子似乎是這個很清楚:
Create a memmap with dtype and shape that matches our data:
>>> fp = np.memmap(filename, dtype='float32', mode='w+', shape=(3,4))
>>> fp
memmap([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]], dtype=float32)
在新創建的文件中的數據是全零
後來寫作之後和在關閉
Load the memmap and verify data was stored:
>>> newfp = np.memmap(filename, dtype='float32', mode='r', shape=(3,4))
>>> newfp
memmap([[ 0., 1., 2., 3.],
[ 4., 5., 6., 7.],
[ 8., 9., 10., 11.]], dtype=float32)
的現有文件中的數據從最後一次使用中繼承。
在源
https://github.com/numpy/numpy/blob/master/numpy/core/memmap.py
def __new__(subtype, filename, dtype=uint8, mode='r+', offset=0,
shape=None, order='C'):
...
if mode == 'w+' or (mode == 'r+' and flen < bytes):
fid.seek(bytes - 1, 0)
fid.write(np.compat.asbytes('\0'))
fid.flush()
如果我讀的是正確的它在文件(或現有文件的末尾)開始寫0。 mmap.mmap
可以確定對剩餘的期望長度做了什麼。
+1
示例文檔可能會令人困惑和不完整。我將在這裏明確地說明答案:'mode ='w +''用[使用POSIX文件系統語義的系統]中的零初始化(https://github.com/numpy/numpy/blob/master/numpy/core/memmap。 PY);所有其他模式值都使用舊的memmap文件內容進行初始化。謝謝@hpaulj和@wwii – root
相關問題
- 1. MVVM Light - ViewModel reusage
- 2. Android套接字reusage
- 3. Java定時器Reusage
- 4. 從SolidWorks API中的裝配文檔獲取零件文檔
- 5. HTTP歸檔(HAR)的零
- 6. Firefox零星地顯示文件流而不是文檔
- 7. 強大的名稱reusage與大量的項目
- 8. PHPExcel:文檔在受保護視圖中打開,公式爲零
- 9. PHP Zip檔案零星地創建多個文件
- 10. 在Apple文檔中發佈ivars並將屬性設置爲零
- 11. 下載的圖像在文檔目錄中有零字節
- 12. 結合Google文檔文檔
- 13. 子文檔返回文檔
- 14. 將文檔上傳到Google文檔的文檔中
- 15. 從文檔複製MIME文檔到文檔
- 16. MongoDB從子文檔中刪除子文檔文檔
- 17. Python Sphinx:文檔主頁像Python文檔或Sphinx文檔
- 18. 搜索A文檔庫或文檔在Sharepoint文檔庫中
- 19. 文檔
- 20. 文檔
- 21. 文檔
- 22. 將Word文檔保存爲「Word文檔」
- 23. .NET xml文檔 - 繼承文檔
- 24. DocBook文檔中的文檔起點
- 25. 按其子文檔拆分文檔
- 26. 將文檔替換爲iframe的文檔
- 27. 從SharePoint 2010文檔庫檢索文檔
- 28. 查詢文檔並選擇子文檔
- 29. 在文檔中添加子文檔
- 30. Google文檔文檔選擇器?
你有沒有試過?發生了什麼? – wwii
zeros行爲[記錄在源代碼中](https://github.com/numpy/numpy/blob/master/numpy/core/memmap.py)在註釋部分。 – wwii
謝謝@wwii!在接受的答案下查看我的完整評論。 – root