ファイルには 1,000 万行を超える行があり、合計ファイル サイズは 19 GB です。2 行目だけを取得する必要があります。
特定の行を取得するには、ループを使用できます。
for i,j in enumerate(open('foobar.txt')):
if i == 1:
print j
break
またはlinecache
(ただし、すべてをRAMにロードするため、大きなファイルではありません)
import linecache
print linecache.getline(open('foobar.txt'),2)
またはunix
コマンドとos.popen
:
import os
infile = 'foobar.txt'
print os.popen('head -2 '+infile+'|tail -1')
2行目だけを取得するためのオプションをさらに検討しています。
- 2回目まで読んで途中でやめる方法はあり
\n
ますか?(このようにしてRAMスペースを節約します) - ファイルを 1GB まで読み込んでから 2 行目を探す方法はありますか?
- 2 行目まで読むには、他にどのような方法がありますか?
x行のxが小さく、ファイルのサイズが>>>であることを考えると、質問はスケーラブルであると思います。