Python で年月日をつけたフォルダを作成

毎週月曜日にチームミーティングを行っています。

チームミーティングで使う資料は,”TeamMTG_20240129″ のように年月日をつけたフォルダに保存しています。

このような年月日をつけたフォルダを Python を使って機械的に作成してみました。例えば,これから1年分のチームミーティングのフォルダを一気に作成できます。

Python コード

年月日をつけたフォルダを作成する Python のコードを示します。

ライブラリ読み込み

プログラムで使用するライブラリ os と datetime を読み込みます。いずれも Python の標準ライブラリです。

import os
import datetime
from datetime import datetime
from datetime import timedelta

今日の年月日取得

今日の年月日を取得します。

now = datetime.today()

フォルダ名設定

変数でフォルダ名を設定します。今回は,チームミーティング用のフォルダのため,’TeamMTG’ としました。

foldername='TeamMTG'

フォルダを作成する関数

フォルダを作成する関数 makefolder を定義します。

引数名 dirname のフォルダ名が存在しなければ,フォルダ名を作成します。また,フォルダを作成した旨のメッセージ「○○フォルダを作成しました」を出力します。

def makefolder(dirname): 
    if not os.path.exists(dirname):
        os.makedirs(dirname)
        print(dirname,'フォルダを作成しました')

1 年分のフォルダ作成

for ループを使って,この先 1 年分(365 日)のチームミーティング用のフォルダを作成します。

毎週月曜日にチームミーティングを行うので,月曜日のときのみフォルダを作成します(以下のコードの 3 行目の if 文参照)。

for i in range(0,365):
    nextfyday=now+timedelta(i)
    if nextfyday.weekday()==0:
        dirname=str(foldername)+'/'+str(foldername)+'_'+str(nextfyday.year)+str(nextfyday.month).zfill(2)+nextfyday.strftime('%d')
        makefolder(dirname)

Python プログラム

一連のコードをまとめたプログラムを示します。

import os
import datetime
from datetime import datetime
from datetime import timedelta

now = datetime.today()
foldername='TeamMTG'

def makefolder(dirname): 
    if not os.path.exists(dirname):
        os.makedirs(dirname)
        print(dirname,'フォルダを作成しました')

for i in range(0,365):
    nextfyday=now+timedelta(i)
    if nextfyday.weekday()==0:
        dirname=str(foldername)+'/'+str(foldername)+'_'+str(nextfyday.year)+str(nextfyday.month).zfill(2)+nextfyday.strftime('%d')
        makefolder(dirname)

作成したフォルダ

上記のプログラムを実行して,フォルダを作成しました。

TeamMTG_20240129 から 52 週分のフォルダが作成されました。

図 Python で機械的に作成したフォルダ

更新履歴

  • 2024年1月28日 新規作成
  • 2024年2月18日 タイトルを「Python でフォルダを作成」から「Python で年月日をつけたフォルダを作成」に変更
  • 2024年2月26日 Python コードのタイトルを追加し,全般的に加除修正

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です