ホームページ > バックエンド開発 > Python チュートリアル > Pythonでファイルを開き、読み取り、書きますか?

Pythonでファイルを開き、読み取り、書きますか?

Robert Michael Kim
リリース: 2025-03-19 14:31:30
オリジナル
269 人が閲覧しました

Pythonでファイルを開き、読み取り、書き込みますか?

Pythonでは、ファイルオブジェクトを返す組み込みopen()関数を使用してファイルを開き、読み取り、書き込みできます。これらの操作を実行する方法は次のとおりです。

ファイルを開く:

ファイルを開くには、 open()関数を使用して、ファイル名と開くモードを指定します。基本的な構文は次のとおりです。

 <code class="python">file_object = open('filename', 'mode')</code>
ログイン後にコピー

たとえば、読み取りモードで「example.txt」という名前のファイルを開くには、次のことを書きます。

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

ファイルを読む:

ファイルを開いたら、さまざまな方法を使用してその内容を読み取ることができます。

  • read() :ファイルの内容全体を単一の文字列として読み取ります。
  • readline() :ファイルから単一の行を読み取ります。
  • readlines() :ファイルからすべての行を読み取り、文字列のリストとして返します。

ファイル全体を読む例:

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

ファイルへの書き込み:

ファイルに書き込むには、書き込みモード( 'w' )またはappendモード( 'a' )で開きます。ファイルに書き込む方法は次のとおりです。

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

withステートメントは、例外が提起されたとしても、スイートが終了した後にファイルが適切に閉じられることを保証します。

Pythonでファイルを開くためのさまざまなモードは何ですか?

Pythonのopen()関数は、ファイルを開くためのいくつかのモードをサポートしています。それぞれが異なる目的を果たします。

  • 'r' (読み取りモード) :読み取り用のファイルを開きます。ファイルポインターは、ファイルの先頭に配置されます。これはデフォルトモードです。
  • 'w' (書き込みモード) :書き込み用のファイルを開きます。ファイルが存在する場合、0サイズに切り捨てられます。ファイルが存在しない場合、書き込み用の新しいファイルが作成されます。
  • 'a' (付録モード) :Appendingのファイルを開きます。ファイルが存在する場合、ファイルポインターはファイルの最後にあります。ファイルが存在しない場合、書き込み用の新しいファイルが作成されます。
  • 'x' (排他的な作成モード) :排他的な作成のためのファイルを開きます。ファイルが既に存在する場合、操作に失敗します。
  • 'b' (バイナリモード) :バイナリモードでファイルを開きます。これは、他のモード( 'rb'または'wb'など)と組み合わせることができます。
  • 't' (テキストモード) :テキストモードでファイルを開きます。これはデフォルトモードであり、他のモード( 'rt'または'wt'など)と組み合わせることができます。
  • ' ' (更新モード) :更新用のファイルを開き(読み取りと書き込み)。他のモード( 'r ''w ''a ' )と組み合わせることができます。

たとえば、読み取りモードと書き込みモードでファイルを開くには、以下を使用します。

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

Pythonのファイルにデータが適切に書き込まれるようにするにはどうすればよいですか?

データがPythonのファイルに適切に書き込まれることを確認するには、次のプラクティスに従う必要があります。

  1. withステートメントを使用してくださいwithステートメントは、コードのブロックが実行された後にファイルを自動的に閉じ、ファイルが適切にフラッシュおよび閉じられていることを確認します。

     <code class="python">with open('example.txt', 'w') as file: file.write('Hello, world!')</code>
    ログイン後にコピー
    ログイン後にコピー
  2. flush()を使用するwithブロックが終了する前にデータがすぐにファイルに書き込まれることを確認する必要がある場合は、 flush()メソッドを呼び出すことができます。

     <code class="python">with open('example.txt', 'w') as file: file.write('Hello, world!') file.flush()</code>
    ログイン後にコピー
  3. ファイルを手動で閉じますwithステートメントを使用していない場合は、 close()メソッドを使用してファイルを手動で閉じて、データが記述されるようにする必要があります。

     <code class="python">file = open('example.txt', 'w') file.write('Hello, world!') file.close()</code>
    ログイン後にコピー
  4. エラーの確認:ファイル操作中に例外処理を使用して潜在的なエラーを管理します。

     <code class="python">try: with open('example.txt', 'w') as file: file.write('Hello, world!') except IOError as e: print(f"An error occurred: {e}")</code>
    ログイン後にコピー

これらのプラクティスに従うことにより、データがファイルに適切に書かれていることを確認できます。

Pythonでファイルを操作する場合、例外をどのように処理しますか?

Pythonでファイルを操作する場合の例外の処理には、 else exceptfinallyブロックして潜在的なエラーを管理することを除き、 tryを使用することが含まれます。これがあなたがそれを行う方法です:

基本的な例外処理:

 <code class="python">try: with open('example.txt', 'r') as file: content = file.read() except FileNotFoundError: print("The file does not exist.") except IOError as e: print(f"An error occurred while reading the file: {e}") else: print("File read successfully.") finally: print("File operation completed.")</code>
ログイン後にコピー

この例では:

  • try :例外を提起する可能性のあるコードが含まれています。
  • except FileNotFoundError :ファイルが存在しない場合、特定のエラーをキャッチします。
  • except IOError as e
  • else :例外が提起されていない場合は実行されます。
  • finally 、例外が提起されたかどうかに関係なく、実行します。

追加のヒント:

  • 特定と一般的な例外:適切なエラー処理を確保するために、より一般的なものをキャッチする前に、最初に特定の例外をキャッチします。
  • ロギングエラーloggingモジュールを使用して、デバッグ目的でエラーを記録します。
 <code class="python">import logging try: with open('example.txt', 'r') as file: content = file.read() except FileNotFoundError: logging.error("The file does not exist.") except IOError as e: logging.error(f"An error occurred while reading the file: {e}")</code>
ログイン後にコピー

これらの手法を使用することにより、Pythonでファイルを操作するときに例外を効果的に処理できます。

以上がPythonでファイルを開き、読み取り、書きますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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