Pythonで1つのファイルからすべての偶数行を新しいファイルにコピーする方法は?
偶数は、あるファイルから別のファイルにコピーされたかなりの数の行を非常に選択したい場合の単なる例ですが、例としては良いはずです。
私はこれを使用しますが、非常に非効率的です (約 5 分かかります)。
# foo.txt holds 200,000 lines with 300 values
list = [0, 2, 4, 6, 8, 10..... 199996, 199998]
newfile = open(savefile, "w")
with open("foo.txt", "r") as file:
for i, line in enumerate(file):
if i in list:
newfile.write(line)
newfile.close()
なぜこれが遅いのか説明があればありがたいです.1行ずつ読むのは速く(約15秒)、マニュアルでもアドバイスされています。
編集:申し訳ありません。特定の奇数/偶数の例を探しているわけではありません。これは、20 万個の値のうち約 10 万個を簡単な順序で処理する方法の効果のためだけです。奇数/偶数を処理するより効率的な方法を見つける以外に、ここでの I/O 問題に対する一般的な解決策はありませんか? 取り上げてしまったことを改めてお詫び申し上げます。