ホームページ >バックエンド開発 >Python チュートリアル >Pythonを使用して複数のファイルに変更を加える方法
複数のテキストファイルを同時に変更する必要がありますか?たとえば、すべての文書の英国の綴りをアメリカの綴りに変更します。この記事では、Pythonを使用してこのタスクを効率的に完了する方法を示します。
5つのテキストファイルがあり、そのすべてが「world」を「 wolrd」と見なしているとします。 Pythonスクリプトを使用して、これらすべてのファイルの単語のスペルを修正します。
最初に、処理するデータを準備します(テキストファイル)。このチュートリアルでは、複数のファイルとサブディレクトリを含む「hello」と呼ばれるディレクトリと、1.txt 、2.txt 、3.txt、4.txt 、および5.txt という名前のテキストファイルを作成します。
使用する関数はディレクトリ内のすべてのファイルを繰り返しますが、コードに条件付きステートメントを追加して、変更する必要があるファイルのみを処理できます。
次に、「hello」ディレクトリの内容をお読みください。 for-in
ループを使用して、is_file()
メソッドとstartswith()
メソッドを組み合わせて、ターゲットファイルのみを読み書きすることができます。
ファイルを開き、ファイルの内容を読み取り、必要な変更を行った後にファイルに書き込みます。 r
if not item.name.startswith('.') and item.is_file(): with open(item, mode="r+") as file: file_text = file.read()重要なステップは、正規表現を使用して「
wolrd」を検索することです。 Pythonでは、を使用して正規表現をコンパイルします
re.compile()
メソッドを使用して一致させることができます。メソッドを使用して、間違ったスペルを正しいスペルに置き換えます。次に、
search()
sub()
最後に、置き換えられた新しいテキストをファイルに書き込みます:
regex = re.compile('Wolrd') file_text = regex.sub('World', file_text)
フルコード
file.seek(0) file.write(file_text)完全なPythonスクリプトは次のとおりです。これは、各ファイルで「
world ":に置き換えます。 ご覧のとおり、Pythonは
ループを使用して複数のファイルを簡単に変更します。 パターンマッチングに正規表現を使用することを覚えておくことが重要です。import os, re with os.scandir('hello') as directory: for item in directory: if not item.name.startswith('.') and item.is_file(): with open(item, mode="r+") as file: file_text = file.read() regex = re.compile('Wolrd') file_text = regex.sub('World', file_text) file.seek(0) file.write(file_text)
Pythonループの詳細については、Pythonループの詳細な説明を参照してください。正規表現の詳細については、Pythonの正規表現チュートリアルを参照してください。 for
この記事は更新されており、Monty Shokeenの貢献が含まれています。 Montyは、チュートリアルを作成し、新しいJavaScriptライブラリを学習するのが大好きなフルスタック開発者です。
以上がPythonを使用して複数のファイルに変更を加える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。