[解決済み] 大きなファイルを一行ずつ読むには?
2022-03-17 11:31:20
質問
ファイル全体の各行を反復処理したい。これを行う1つの方法は、ファイル全体を読み込んでリストに保存し、それから関心のある行を調べることです。この方法は多くのメモリを使用するので、代替方法を探しています。
これまでの私のコード
for each_line in fileinput.input(input_file):
do_something(each_line)
for each_line_again in fileinput.input(input_file):
do_something(each_line_again)
このコードを実行すると、エラーメッセージが表示されます。
device active
.
何かご意見はありますか?
つまり、ファイルの各行について、他のすべての行とのレーベンシュタイン距離を計算したいのです。
どのように解決するのですか?
正しい、完全にPythonicなファイルの読み方は以下の通りです。
with open(...) as f:
for line in f:
# Do something with 'line'
は
with
ステートメントは、インナーブロック内で例外が発生した場合を含め、 ファイルのオープンとクローズを処理します。また
for line in f
は、ファイルオブジェクト
f
は反復可能で、自動的にバッファードI/Oとメモリ管理を使用するので、大きなファイルを心配する必要はありません。
それを行うための明白な方法が1つ--できれば1つだけ--あるはずです。
関連
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] Pythonで大きなファイルの行数を安価に取得する方法は?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
python string splicing.join()とsplitting.split()の説明
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python入門 openを使ったファイルの読み書きの方法
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。