どのPCで実行しても同じフォルダの操作を行うのであれば相対パスを指定しなければいけません。
そこで簡単に相対パスでフォルダを指定する方法を備忘録として残します。
1 2 3 |
print(__file__) #C:\Users\○○\Desktop\~~ |
このように実行ファイルのパスを確認することが出来ます。
これを使い、日付のフォルダを作成した後にreplace()を使って置換することで、相対パスを取得します。
test.pyというファイル名のサンプルプログラムを紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import os import datetime #実行日を取得・フォルダ作成 def day_file(): #日時の取得 dt_now = datetime.datetime.now() day_name = dt_now.strftime('%Y-%m-%d') #同じフォルダが無ければ作成 if not os.path.exists(day_name): os.mkdir(day_name) exe_file_ad = __file__.replace('test.py',day_name) return exe_file_ad exe_file_ad = day_file() print(exe_file_ad) |
このようにすることで実行日の日付のフォルダを作成して、そのパスを取得することが出来ます。
是非ご活用下さいね!