Python で存在しない場合にファイルを作成する
このチュートリアルでは、Python でファイルが存在しない場合にファイルを作成するための様々な方法を説明します。私たちは、ファイルのさまざまなモードを調べ、その機能を説明します。
ファイルが存在する場合はファイルを開き、そうでない場合はファイルを作成してテキストを追加します。Python では以下のような方法で行うことができます。
Python open() 関数を使って存在しない場合にファイルを作成する
関数 open() は Python でファイルを開き、入力としてファイルパスとモードを受け取り、出力としてファイルオブジェクトを返します。
ファイルが存在しない場合に open() 関数を用いてファイルを作成して開くには、必要なファイルモードをパラメータとして関数に渡す必要があります。ファイルモードとそのプロパティについて以下に説明します。
| モード | 説明 |
|---|---|
w |
書き込みモード |
r |
読み取りモード |
a |
アペンドモード |
w+ |
ファイルが存在しない場合は作成し、書き込みモードで開く |
r+ |
読み書きモードでファイルを開く |
a+ |
ファイルが存在しない場合はファイルを作成し、append モードで開きます。 |
上で説明したファイルモードから、a+ を渡すことでファイルにテキストを追加したり、ファイルが存在しない場合は最初にファイルを作成したりすることができます。w+ モードはファイルを切り捨ててから書き込みモードで開くので、ファイルを切り捨てたくない場合は a+ モードを使うべきです。
以下のコード例は、Python の open() 関数を用いてファイルを切り捨てずに存在しない場合にファイルを作成する方法を示しています。
file = open("myfolder/myfile.txt", "a+")
ファイルを切り捨てたい場合は、以下のコード例を使用します。
file = open("myfolder/myfile.txt", "w+")
pathlib モジュールの touch() メソッドを使用して存在しない場合の Python ファイルの作成
pathlib モジュールの path.touch() メソッドは path.touch() の path で指定したパスにファイルを作成します。exist_ok を True に設定すると、ファイルが存在する場合には何もしません。
以下のコード例は、touch() ファイルを用いてファイルが存在するかどうかを確認し、存在しなければファイルを作成する方法を示しています。
from pathlib import Path
myfile = Path("myfolder/myfile.txt")
myfile.touch(exist_ok=True)
f = open(myfile)