私は30メガバイトの.TXTファイルを持っているの読み方、ループ用に1GBのRAMを割り当てる)は、ファイルを完全に読み取るのに45分以上かかります。 私はインターネット上で見つかったすべてのメソッドは、各行が小さいという事実に動作しているようですので、メモリの消費量は、ファイル内の最大の行のみと同じ大きさです。ここに私が使ってきたコードがあります。種々のライン1つの行から番号を分割以外</em><br> 残念ながら、すべてのメソッドは、私が試したデータ<em>の<strong></strong>ライン(30百万桁の数字)(<code>mmap.read()</code>、<code>readline()</code>で、超大型ワンライナーテキストファイル
start = time.clock()
z = open('Number.txt','r+')
m = mmap.mmap(z.fileno(), 0)
global a
a = int(m.read())
z.close()
end = time.clock()
secs = (end - start)
print("Number read in","%s" % (secs),"seconds.", file=f)
print("Number read in","%s" % (secs),"seconds.")
f.flush()
del end,start,secs,z,m
。私はむしろやっていないでしょう、より良い部分を必要としないクリーンな方法がありますか?ところで
、私は必ずしもテキストファイルを使用する必要はありません。
私が持っています。Windows 8.1 64ビット、16ギガバイトRAM、Pythonの3.5.1
30MBのファイルを読むのは簡単です。遅いint(filecontent)です。 –
あなたがそれを変換すると、あなたが選んだタイプによって多かれ少なかれ近似が生じることにご存知ですか?あなたはそれのすべてのギザギザの数字を保持しません。 – Roberto
...もちろん、その数で作業できるかもしれませんが、標準タイプは1桁で3,000万の有効数字を保持しません。彼らは近づくでしょう。それを行う方法を探したり、実装したりする必要があります。 – Roberto