28

ファイルから行を読み取るが、ファイル内のどこにいるかを進めないためのpythonicアプローチは何ですか?

たとえば、次のファイルがある場合

cat1
cat2
cat3

そして、あなたfile.readline()は得るでしょうcat1\n。次file.readline()は を返しcat2\nます。

後で取得して元に戻すfile.some_function_here_nextline()ことができるような機能はありますか?cat1\nfile.readline()cat1\n

4

5 に答える 5

2

more_itertoolsライブラリは、イテラブルを進めずに先に進むことができるクラスを提供しますpeekablepeek()

with open("file.txt", "r") as f:
    p = mit.peekable(f.readlines())

p.peek()
# 'cat1\n'

next(p)
# 'cat1\n'

next()iterable を進めるために呼び出す前に、次の行を表示できますp。もう一度呼び出すことで、次の行を表示できるようpeek()になりました。

p.peek()
# 'cat2\n'

more_itertoolsdocsも参照してください。アイテムを iterable に移動してから先に進むこともできpeekableます。prepend()

于 2017-08-30T19:15:48.700 に答える