Python | open()やmkdir()でファイル・ディレクトリの作成

2020-09-13Python ファイル・ディレクトリ,Python

Python | open()やmkdir()でファイル・ディレクトリの作成

Pythonでos.path.isfile()やos.path.isdir()、os.path.exists()を使った基本的なファイル・ディレクトリが存在するかどうかを調べる方法についての紹介です。

ファイルを作成する

with文とopen()を使ってファイルを作成するサンプルコードです。

with open('new.txt', 'w') as new_file:
    new_file.write('new.txt')
    new_file.closed

作成時に書き込みを行う場合は、ファイルが既に存在している場合に内容を上書きさせないようにするには存在確認処理も記述します。

また、open()のモードオプションは、新規作成に限るのであればファイルが存在しない場合のみ新規作成する「’x’」も選択肢にありますが、「’x’」の場合はファイルが既に存在しているとエラーとなるので、この場合も存在確認処理も記述します。

if(os.path.isfile('new.txt') == False):
    with open('new.txt', 'w') as new_file:
        new_file.write('data')
        new_file.closed

ディレクトリを作成する

os.mkdir()を使ってディレクトリを作成するサンプルコードです。

import os

os.mkdir('new_dir')

os.mkdir()はディレクトリが既に存在していた場合のエラー対応として、ディレクトリの存在確認、またはtry文を使ったエラーの例外処理で記述する必要があります。

if(os.path.isfile(target_dir/) == False):
    os.mkdir(target_dir/)
try:
    os.mkdir('new_dir/')
except OSError as err:
    pass

Python3.2~ではmakedirs()に引数にexist_okオプションを付与することが可能です。
exist_okオプションはTrueとすることでディレクトリが既に存在していた場合もエラーが表示されなくなります。

import os

os.makedirs('new_dir', exist_ok=True)