アイデアノートをかき混ぜるPythonスクリプト
以下のようなアイデアノートがあるとする。
https://gyazo.com/ab01421f7a01c467b54373d08327a102
それに対して以下のような処理を行う
これらのうちから前から順番にランダムに十個選ぶ
選ばれたものはリストの末尾に移動する
インデントがついた項目は別ファイルに移動する
イメージとしては、カードボックスにカードが並んでいて、前から順番に適当に十個取り上げ、取り上げたものはカードボックスの最後尾に回す、という感じ。
また、項目にインデントがついているものは別のファイルに移動される。
逆に言えば、上のテキストファイルを触っているときに「削除」する操作をしなくてもいい。
インデントをつけておけば、次回このスクリプトを走らせたときに、自動的に別ファイルに移動される
code:ideanotemixer.py
import re
import random
import datetime
def moveToPrint(text):
printfilepath = "/Users/Tadanori/Dropbox/textbox/list/ideaPrint.md"
td = datetime.date.today()
tday = td.strftime("%Y%m%d")
with open(printfilepath,mode="a") as f:
f.write(text + "(" + tday + ")")
def mix():
filepath = "/Users/Tadanori/Dropbox/textbox/list/HotText.md"
with open(filepath) as f:
l = f.readlines()
count = 0
tempbody = []
mainbody = []
for item in l:
m = re.search(r"^(\* .*)",item)
if(m and random.random() < 0.3 and count < 10):
tempbody.append(m.group(1) + "\n")
count += 1
else:
n = re.search(r" (\* .*)",item)
if(n):
moveToPrint("\n" + n.group(1))
continue
mainbody.append(item)
tempbody-1 = tempbody-1.rstrip("\n") with open(filepath,mode="w") as f:
f.writelines(mainbody + tempbody)
return tempbody
if __name__ == '__main__':
mix()