[英]How can a Python program load and read specific lines from a file?
我有一個二進制格式的巨大數字文件,只需將其中的某些部分解析為數組。 我查看了numpy.fromfile
並open
,但是他們沒有選擇從文件中的位置A讀取位置B. 可以這樣做嗎?
如果你正在處理“巨大的文件”,我不會簡單地閱讀 - 忽略所有內容,直到你真正需要數據為止。
相反:Python中的文件對象有一個.seek()
方法,您可以使用該方法直接跳轉到需要開始解析數據的位置,從而繞過之前的所有內容。
with open('huge_file.dat', 'rb') as f:
f.seek(1024 * 1024 * 1024) # skip 1GB
...
另見: http : //docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects
如果您知道您感興趣的數據的精確位置,您可以在文件對象上使用seek(<n bytes>)
方法,如文檔所示 。 在開始閱讀之前,只需調用一次(使用給定的偏移量)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.