ホームページ >バックエンド開発 >Python チュートリアル >Python での反復中にファイル行をその場で変更できますか?

Python での反復中にファイル行をその場で変更できますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-04 13:24:11666ブラウズ

Can I Modify File Lines In-Place While Iterating in Python?

ファイル内の行をその場で変更する

ファイルを 1 行ずつ順番に解析し、行をその場で変更することは可能ですか?を繰り返すfile?

答え:

はい、Python 標準ライブラリ内の fileinput モジュールに実装されているように、バックアップ ファイルを使用してこれをシミュレートできます。

コード例:

次のスクリプトを考えてみましょう。 some_condition 関数で指定された特定の条件を満たさない行を、提供されたファイルまたは標準入力から削除します:

#!/usr/bin/env python
# grep_some_condition.py
import fileinput

for line in fileinput.input(inplace=True, backup='.bak'):
    if some_condition(line):
        print(line, end="")  # This outputs modified lines to the current file

使用例:

このスクリプトを利用するには、次のコマンドを実行します:

$ python grep_some_condition.py first_file.txt second_file.txt

実行すると、first_file.txt と Second_file.txt の両方が作成されます。 some_condition 述語を満たす行のみを含むように変更されます。

以上がPython での反復中にファイル行をその場で変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。