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でファイルを操作するための第一歩となります。
