2016-07-13 10 views
0

私は赤ですべての質問をスタックオーバーフローで表示しています。リストを作成したり、別のtxtファイルにすべてを入れたりします。私のtxtファイルは1GBより大きい場合、私はforループでしかそのファイルを読むことができません。大きなtxtファイルに入ると行が削除される

私が作ってみました:

f = r.read() 

と3時間外に行きます。

私が戻ってくると、まだそれを読んでいました。

だから、私はそれを変更:

with open("wordlist.txt") as f: 
     for sat in f: 
      try: 
       dene(sat.strip()) 

しかし、プログラムが失敗したときに、私は再び全体wordlistを実行する必要があります。 だから、私は何をしたいのようになります。プログラムが失敗し、私はそれが最初から起動しませんそれを再度開くと

ので
with open("wordlist.txt") as f: 
     for sat in f: 
      try: 
       dene(sat.strip()) 
       f.delete(sat) 

答えて

2

私はその場で行を削除することはできないと思います。ただし、最後に行った線番号を保存することはできます。スクリプトが失敗した場合は、次の操作を行うだけです。

[f.next() for _ in range(lines_count)] 

ここで、lines_countは以前にテキストファイルに保存されていました。すでに処理されている行数です。だから、基本的には、あなたが最後に行っていた行までずっと移動してそこから進む。

関連する問題