0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Python】os.path.isfile(path)を使ってファイルの存在をチェック

Last updated at Posted at 2022-07-04

os.path.isfile(パス名)[1]

引数で指定したパスが実在するファイルかどうかを判別する関数。
実在しファイルであればTrueを返す。


ファイルが存在しない場合に新規作成をする

ファイルの存在と中身を確認する

【ターミナル操作】ファイルと中身の確認
~ $ ls
test.py    names.txt
~ $ cat names.txt 
Hakase
~ $ 

ファイルが存在しない場合に新規作成、既に存在している場合はメッセージの表示

test.py ファイルが既に存在している場合
# osモジュールのインポート
import os

file_name = "names.txt"
# 『os.path.isfile(file_name)』引数で指定したパスが実在するファイルかどうかを判別する。
# ファイルが実在する場合Trueを返す。
# if not もしファイルが存在しないとき、ファイルを新規作成する。
if not os.path.isfile(file_name):
# mode="x" ファイルの新規作成
    with open(file_name, mode="x") as f:
# Shinonomeと書き込む。\nは改行するという意味。
        f.write("Shinonome\n")
# ファイルが存在する場合「既にファイルは存在していますよ!!!」と表示。
else:
    print("既にファイルは存在していますよ!!")

コードを実行してファイルが上書きされていないかを確認する

ファイルが既に存在するためメッセージが表示される。
names.txtの中身は変わっていない。

【ターミナル操作】 実行
~ $ python test.py
既にファイルは存在していますよ!!
~ $ cat names.txt 
Hakase
~ $ 

存在しないファイル名に変えてみる

test.py ファイルが存在しない場合
import os
# 存在しないファイル名に変えてみたよ
file_name = "names_1.txt"

if not os.path.isfile(file_name):
    with open(file_name, mode="x") as f:
        f.write("shinonome\n")
else:
    print("既にファイルは存在していますよ!!")

新しいファイルが新規作成されている。

【ターミナル操作】 実行・ファイルの確認
~ $ python test.py
~ $ ls
test.py      names.txt    names_1.txt
~ $ cat names_1.txt 
shinonome
~ $ 

参考にしたサイト

[1] https://techacademy.jp/magazine/31132

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?