ホームページ > バックエンド開発 > Python チュートリアル > Pythonのさまざまなファイルモード(例: 'r'、 'w'、 'a'、 'b')は何ですか?

Pythonのさまざまなファイルモード(例: 'r'、 'w'、 'a'、 'b')は何ですか?

Emily Anne Brown
リリース: 2025-03-20 16:24:35
オリジナル
803 人が閲覧しました

Pythonのさまざまなファイルモード(例: 'r'、 'w'、 'a'、 'b')は何ですか?

Pythonでは、ファイルモードを使用して、ファイルが開かれている目的を指定します。これらのモードは、ファイルで実行できる操作を決定します。以下は、基本的なファイルモードとその目的です。

  • 'R'(読み取りモード) :これはファイルを開くためのデフォルトモードです。読み取り用のファイルが開き、ファイルが存在しない場合、 FileNotFoundErrorが発生します。ファイルポインターは、ファイルの先頭に配置されます。
  • 'w'(書き込みモード) :このモードは、書き込み用のファイルを開きます。ファイルが存在しない場合、新しいファイルが作成されます。ファイルが既に存在する場合、ファイルを長さゼロに切り捨て、既存のすべてのコンテンツを消去します。ファイルポインターは、ファイルの先頭に配置されます。
  • 「A」(追加モード) :このモードは、新しい情報を追加するファイルを開きます。ファイルが存在する場合、ファイルポインターはファイルの最後にあります。ファイルが存在しない場合、書き込み用の新しいファイルが作成されます。
  • 'B'(バイナリモード) :このモードを他のモードと組み合わせて、バイナリ形式でファイルを開くことができます。使用すると、Pythonにファイルをテキストファイルではなくバイナリファイルとして処理するよう指示します。通常、「RB」、「WB」、「AB」などのモードで使用されます。

これらの基本モードに加えて、Pythonは複合モードも提供します。

  • 'r'(読み取りおよび書き込みモード) :読み書きの両方のファイルを開きます。ファイルポインターは、ファイルの先頭に配置されます。
  • 'W'(読み取りモード) :読み取りと書き込みの両方のファイルを開きます。ファイルが存在しない場合、新しいファイルが作成されます。ファイルが存在する場合、ファイルをゼロの長さに切り捨てます。
  • 'A'(読み取りモードと追加モード) :読み取りとアプリの両方のファイルを開きます。ファイルが存在する場合、ファイルポインターはファイルの最後にあります。ファイルは付録モードで開きますが、ファイルから読み取ることができます。
  • 'x'(Create Mode) :排他的な作成用ファイルを開きます。ファイルが既に存在する場合、操作に失敗します。

Pythonで異なるファイルモードを使用して特定のファイル操作を実行するにはどうすればよいですか?

Pythonでさまざまなファイルモードを使用すると、ニーズに合わせて調整されたファイルで特定の操作を実行できます。これらのモードの使用方法は次のとおりです。

  • テキストファイルを読む( 'r')

     <code class="python">with open('example.txt', 'r') as file: content = file.read()</code>
    ログイン後にコピー

    これにより、 example.txtのコンテンツ全体が読み取られます。

  • テキストファイルへの書き込み( 'w')

     <code class="python">with open('example.txt', 'w') as file: file.write('New content')</code>
    ログイン後にコピー

    これにより、「新しいコンテンツ」がexample.txtに書き込み、既存のコンテンツを上書きします。

  • テキストファイル( 'a')への追加

     <code class="python">with open('example.txt', 'a') as file: file.write('Additional content')</code>
    ログイン後にコピー

    このexample.txtの最後に「追加のコンテンツ」を追加します。

  • バイナリファイル( 'rb'、 'wb'、 'ab')を使用する

     <code class="python">with open('image.png', 'rb') as file: image_data = file.read() with open('image_copy.png', 'wb') as file: file.write(image_data)</code>
    ログイン後にコピー

    これにより、バイナリファイルが読み取り、別のファイルに書き込みます。

適切なモードを選択することにより、ファイルがどのように開かれ、どの操作が実行されるかを制御できます。

Pythonでファイルを開くときにバイナリモード「B」を使用することの意味は何ですか?

Pythonでバイナリモード「B」を使用するには、いくつかの意味があります。

  • テキストエンコード/デコードはありません:バイナリモードでファイルを開くと、Pythonはテキストエンコードまたはデコードを実行しません。これは、画像、オーディオファイル、またはバイナリデータなどの非テキストデータを含むファイルにとって重要です。このようなファイルをテキストモードで読み取ろうとすると、エンコード/デコードプロセスがバイナリデータをテキストとして解釈し、データの損失やエラーにつながる可能性があるため、破損したデータが表示される可能性があります。
  • ラインエンディング:テキストモードでは、Pythonはプラットフォーム固有のラインエンディングを自動的に標準のNewline( \n )に変換します(\ n)、執筆時にはその逆です。バイナリモードでは、この翻訳は発生せず、元のラインエンディングを含む生のバイトを直接使用します。これは、異なるオペレーティングシステム全体でファイルの正確なコンテンツを保存するために重要です。
  • パフォーマンス:操作をエンコードまたはデコードする必要がないため、バイナリモードはわずかに効率的になります。これは、大きなファイルや高性能アプリケーションを扱う場合に有益です。
  • ファイルタイプ:バイナリモードは、実行可能ファイル、画像、圧縮ファイルなど、単純なテキストではないファイルを使用するために不可欠です。このようなファイルでテキストモードを使用すると、エラーやデータの破損が発生する可能性があります。

要約すると、「B」の使用は、テキストとして解釈されることを意図していないファイルを処理し、バイナリデータの整合性を保証するために重要です。

Pythonファイル処理で「R」、「W」、「A」モードを使用する時期の例を提供できますか?

Pythonファイル処理の「R」、「W」、および「A」モードを使用するタイミングの例を次に示します。

  • 'r'(読み取りモードと書き込みモード)の使用

     <code class="python">with open('example.txt', 'r ') as file: content = file.read() file.seek(0) file.write('New content\n') file.write(content)</code>
    ログイン後にコピー

    この例では、 example.txtの既存のコンテンツを読み取り、最初に「新しいコンテンツ」でファイルを上書きし、元のコンテンツを追加します。このモードは、既存のファイルを完全に上書きせずに変更する必要がある場合に役立ちます。

  • 'w'(読み取りモードと書き込みモード)の使用

     <code class="python">with open('example.txt', 'w ') as file: file.write('Initial content\n') file.seek(0) content = file.read()</code>
    ログイン後にコピー

    これにより、新しいファイルが「初期コンテンツ」で新しいファイルが作成されます(または既存のファイルを上書き)してから読み戻します。このモードは、ファイルを作成したり、書いたりしてから、すべて1回のセッションで読み取るのに役立ちます。

  • 'a'(読み取りモードと追加モード)を使用します

     <code class="python">with open('example.txt', 'a ') as file: file.write('Additional content\n') file.seek(0) content = file.read()</code>
    ログイン後にコピー

    このexample.txtの最後に「追加のコンテンツ」を追加し、ファイルコンテンツ全体を読み取ります。このモードは、ロギングに役立ちます。または、上書きせずに既存のファイルに新しい情報を追加して結果を読み取る必要がある場合に役立ちます。

これらの結合されたモードにより、ファイルとの対話方法が柔軟になり、単一のファイル操作で読み取りと書き込み(または追加)が可能になります。

以上がPythonのさまざまなファイルモード(例: 'r'、 'w'、 'a'、 'b')は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート