2017-03-08 11 views
1

Pythonで大きなバイナリデータファイルからランダムなチャンクを読み込みたいと思っています。Pythonの大きなバイナリファイルの一部を読む

これまでの説明は次のとおりですが、最初のnの整数でしか読み取ることができず、ファイル内のどこかで開始できません。また

import numpy as np 
#Pick an n here. 

f = open("test2.rd14") 
a = np.fromfile(f, dtype = np.uint16, count=int(n)) 

これは、ドキュメント内のすべてのです

with open("test2.rd14") as file: 
filecontent = file.read() 
+0

おそらく[this](http://stackoverflow.com/questions/1035340/reading-binary-file-in-python-and-looping-over-each-byte)にチェックしてください。 – kessi

答えて

2

を使用するには大きすぎでファイル。

https://docs.python.org/3.6/tutorial/inputoutput.html

バイナリモードで開くこと

f = open("test2.rd14", "rb") 

、その後、あなたは他の場所で開始することを求める方法、

f.seek(byte_n) 

を使用します。

+1

シーク後に呼び出された場合、f.read(n_bytes)はバイトnからnバイトを読み込みます – user3012759

関連する問題