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 週分のフォルダが作成されました。
更新履歴
- 2024年1月28日 新規作成
- 2024年2月18日 タイトルを「Python でフォルダを作成」から「Python で年月日をつけたフォルダを作成」に変更
- 2024年2月26日 Python コードのタイトルを追加し,全般的に加除修正