Pythonでファイルを開く基本的な構文は以下の通りです。
Python
file_object = open("ファイル名", "モード")
解説:
open()
: ファイルを操作するために使用する組み込み関数です。"ファイル名"
: 開きたいファイルの名前を文字列で指定します。絶対パスまたは相対パスを指定できます。"モード"
: ファイルをどのように開くかを指定する文字列です。主なモードは以下の通りです。"r"
: 読み込みモード (read)。ファイルが存在しない場合はエラーになります。これがデフォルトのモードです。"w"
: 書き込みモード (write)。ファイルが存在する場合は内容を上書きします。存在しない場合は新規に作成します。"a"
: 追記モード (append)。ファイルが存在する場合は末尾に内容を追加します。存在しない場合は新規に作成します。"x"
: 排他的作成モード (exclusive creation)。ファイルが存在する場合はエラーになります。存在しない場合は新規に作成し、書き込み用に開きます。"b"
: バイナリモード (binary)。テキストファイルではなく、バイナリファイル (画像、音声など) を扱う際に使用します。上記の各モード ("r"
,"w"
,"a"
,"x"
) と組み合わせて使用します (例:"rb"
,"wb"
など)。"t"
: テキストモード (text)。テキストファイルを扱う際に使用します。これがデフォルトのモードです。上記の各モード ("r"
,"w"
,"a"
,"x"
) と組み合わせて使用します (例:"rt"
,"wt"
など)。通常は省略可能です。"+"
: 更新モード (updating)。読み書き両方の操作を可能にします。上記の各モード ("r"
,"w"
,"a"
,"x"
) と組み合わせて使用します (例:"r+"
,"w+"
など)。
例:
- 読み込みモードでファイルを開く: Python
try: f = open("my_file.txt", "r") # ファイルの内容を読み込む処理 content = f.read() print(content) except FileNotFoundError: print("ファイルが見つかりません。") finally: if 'f' in locals() and not f.closed: f.close()
- 書き込みモードでファイルを開く: Python
try: f = open("new_file.txt", "w") f.write("新しい内容を書き込みます。\n") finally: if 'f' in locals() and not f.closed: f.close()
- 追記モードでファイルを開く: Python
try: f = open("existing_file.txt", "a") f.write("追記する内容です。\n") finally: if 'f' in locals() and not f.closed: f.close()
重要な注意点:
- ファイルを
open()
関数で開いた後は、必ずclose()
メソッドを使ってファイルを閉じる必要があります。閉じないと、ファイルが正しく保存されなかったり、他のプログラムからアクセスできなくなる可能性があります。 - より安全で簡潔なファイル操作のためには、
with
ステートメントを使用することを強く推奨します。with
ブロックを抜ける際に、ファイルは自動的に閉じられます。 Pythonwith open("another_file.txt", "r") as f: content = f.read() print(content) # withブロックを抜けると、ファイルは自動的に閉じられます
この基本形と注意点を理解しておけば、Pythonでファイルを操作するための第一歩となります。