この記事では、Python の「with」ステートメントとその使用法について学びます。
Python では、with ステートメントは、try-catch ブロックを簡潔な方法で置き換えます。
さらに重要なのは、処理後すぐにリソースが確実に閉じられることです。
with ステートメントを使用してファイルの読み取りまたは書き込みを行うのが一般的な使用法です。
コンテキスト マネージャーは、with ステートメントをサポートする関数またはクラスです。コンテキスト マネージャーを使用すると、必要なときにリソースを開いたり閉じたりできます。
たとえば、open() 関数はコンテキスト マネージャーです。 with ステートメントを使用して open() 関数を呼び出すと、ファイルの処理後にファイルは自動的に閉じられます。
以下は、必要なタスクを実行するためのアルゴリズム/手順です:
open() 関数 (ファイルを開いて結果としてファイル オブジェクトを返す) を使用して、テキスト ファイルを読み取り専用モードで開きます (「# here」を渡すことで、ファイル名とモードを引数として指定します) ##r" は読み取り専用モードを示します)。
readlines() 関数を使用して、指定されたテキスト ファイルの行のリストを取得します。
Python では、try-catch エラー処理を使用してファイルを開いたり書き込んだりできます。
with
ステートメントは次の try-catch ブロックを置き換えますExample の中国語訳は次のとおりです:
Exampleこの方法でも問題ありません。ただし、このタスクは with ステートメントを使用するとよりエレガントに実行できます。
次に、with ステートメント − を使用して前の例を再作成しましょう。 リーリー
with ステートメントは使用後のファイルのクローズを処理できるため、コードが簡素化されます。このため、一般的に Python でファイルを開くには with ステートメントを使用することが推奨されます。Python "with" ステートメントとコンテキスト マネージャー
ファイルを処理するとき、with ステートメントは open() 関数にのみ適用されると考えるかもしれません。しかし、そうではありません。 with ステートメントをサポートするクラスとオブジェクトも作成できます。コンテキスト マネージャーは、
プロジェクトにリソース管理を追加したい場合は、コンテキスト マネージャーを使用できます。
コンテキスト マネージャーとみなされるには、クラスは次の 2 つのメソッド - を実装する必要があります。 ###__入力__()### ###__出口__()###
これらのメソッドを実装した後、クラスのオブジェクトに対して with ステートメントを使用できます。
with ステートメントが呼び出されると、__enter__() メソッドが呼び出されます。
上記プログラムの使い方
FileWriter(filename) を使用すると、新しい FileWriter オブジェクトが作成され、__enter__() が呼び出されます。
__enter__() メソッドは、必要なリソースを初期化するために使用されます。この場合、テキスト ファイルが開きます。また、リソースの記述子、つまり開いているファイルも返す必要があります。
前に書いたコンテキスト マネージャーはクラスですが、open() 関数に似たコンテキスト マネージャー メソッドを作成したい場合はどうすればよいでしょうか? Python では、コンテキスト マネージャー メソッドを作成することもできます。
モジュールを使用してメソッドをコンテキスト マネージャーに変換します。
exampleFile.txt
の翻訳は次のとおりです:exampleFile.txt リーリー ここでは、 with キーワードを使用して新しい関数を作成し、名前を付けます。この関数を呼び出すと、指定されたファイルを書き込みモードで開こうとし、結果を返します。エラーが発生した場合、ファイルは閉じられます。
###結論は###以上がPython での WITH ステートメントの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。