Pythonでファイルを読み書きする方法

最も些細なプログラムを超えてPython言語でプログラミングしている場合、通常、プログラム自体の外部に存在するファイルからデータを読み取ったり、ファイルにデータを書き込んだりする必要があります。 Pythonは、コア言語の一部である標準関数を使用して特定のファイルにアクセスして変更するための簡単なメカニズムを提供します。

Pythonでファイルを開く

ステップ1

使用ポリシーを決定します。 ファイルを開く前に、ファイルの読み取りと書き込みのどちらが必要かを知る必要があります。 本当に必要な権限でのみファイルを開き、読み取りのみが必要な場合は読み取り/書き込みモードでファイルを開かないでください。 これにより、書き込みを行うべきではないファイルへの誤った書き込みを防ぐことができます。

今日のビデオ

ステップ2

ASCIIモードとバイナリモードのどちらを使用するかを決定します。 テキストを読んでいる場合は、ASCIIモードを使用することをお勧めします。 バイナリデータを読み取る場合は、バイナリモードを使用します。 このモードは、行末をオペレーティングシステムが使用するモードに変換します。

ステップ3

モード文字列を作成します。 最初の文字は読み取りまたは書き込みモードです。 バイナリモードで開く場合は、文字列の最後に「b」を追加します。 たとえば、ASCIIモードで読み取る場合、モード文字列は「r」になり、バイナリモードで書き込む場合、モード文字列は「wb」になります。

ステップ4

open関数を使用してファイルを開きます。 結果のファイルオブジェクトを変数に格納します。 例えば:

f = open( "/ filename / going / here"、 "r")

Pythonでファイルから読み取る

ステップ1

すべての行を繰り返します。 ファイルオブジェクトは、「for」ループを使用してコレクションとして使用できます。 forステートメントを使用して、ファイル内のすべての行を反復処理できます(一般的なアクション)。

fの行の場合:印刷行

ステップ2

ファイル内の特定のポイントを探します。 ファイルは常に順番に読み取られるとは限らないため、ファイルから読み取る前に、ファイル内の特定のポイントを探す必要があることがよくあります。 これは、ファイルオブジェクトのseekメソッドを使用して行うことができます。

ステップ3

ファイルからバイナリデータを読み取ります。 ファイルオブジェクトのreadメソッドを使用すると、ファイルから任意のバイト数を読み取ることができます。

Pythonファイルに書き込む

ステップ1

ファイルにデータを書き込みます。 ファイルを書き込みモードで開くと、ASCIIまたはバイナリデータを書き込むことができます。 これは、ファイルオブジェクトのwriteメソッドを使用して行われます。

f.write( "これはテキストです")

ステップ2

オブジェクトをファイルに書き込みます。 オブジェクトの内部状態を保存する必要がある場合は、それを「ピクルス」することができます。 オブジェクトをピクルスするには、最初にピクルスモジュールをインポートする必要があります。 その後、pickle.dump関数を使用してほとんどすべてのオブジェクトをpickle化できます。

import pickle pickle.dump(any_object、f)

ステップ3

ファイルを閉じます。 書き込みが完了したら、ファイルを閉じる必要があります。 これにより、すべてのバッファがフラッシュされ、他のプログラムがアクセスできるようにファイルがロックされなくなります。 これは、ファイルオブジェクトのcloseメソッドを使用して行われます。

f.close()