Pythonで自分にあった日記を作ろう

1 作ったもの

  最近日記をつけようと思ったのですが、自分の思った機能があるものがなかなかなくて、それならいっそ作ってしまえということで、Pythonでとても簡単な日記を作りました。
  機能はシンプルで、あるディレクトリにテキストファイルを書いて、プログラムを実行すると、その月のディレクトリに収納されます(もし、ディレクトリがなければ、ディレクトリを作成します)。また、日記を項目別に書いておくと、その項目に関するものをまとめてくれます。文字だと説明しづらいのですが、下の図を見てもらえるとわかりやすいと思います。

スクリーンショット 2021-04-02 15.47.14

実行環境はmac、python3です。

2 実行方法

 好きなディレクトリに以下のファイルを置いてください。

次に以下をターミナルで実行してください。

touch diary.txt 
open diary.txt

txtファイルが開かれるので、以下のように編集してください。

スクリーンショット 2021-04-02 16.03.08

最後に以下を実行すれば完了です。

python make.py

3コードの仕組み

 以下が今回用いたコードになります。シンプルなコードなので読むとわかると思います。是非自分なりにアレンジして、日記を作ってみてください!

import os
import shutil

def my_makedirs(path):  # もし存在しなければディレクトリを作る
   if not os.path.isdir(path):
       os.makedirs(path)
   
f = open('diary.txt', 'r') #テキストファイル読み込み

i = 0
now = 0
for data in f:
 if i==0:
     date = data
     my_makedirs('{}'.format(date[0:4]+'/'+date[4:6])) # 2021/04
     shutil.copy2("diary.txt", "{}.txt".format(date[0:4]+'/'+date[4:6]+'/'+date[0:8])) #2021/04/01
     i = 1
 elif data == "\n":
     if now == 2:
         w.write("\n")
         w.close()
     now = 1
 elif now == 1:
     w = open('{}.txt'.format(date[0:4]+'/'+data.rstrip('\n')),'a')
     w.write(date)
     now = 2
 elif now == 2:
     w.write(data)

f.close()

この記事が気に入ったらサポートをしてみませんか?