背景
たくさんの論文を流し読みして、自分の論文に使えそうな箇所をコピペする作業をしている。使えそうな記述をコピーし、メモファイルにペーストする、という作業である。
しかし、コピーした後にいちいちメモファイルにマウスカーソルを移動してペーストするのが面倒だったので、コピーするだけでファイルに自動的に書き込まれるプログラムを作った。
環境
- Windows 10 21H2 19044.2486
- Python 3.9.5
コード
from time import sleep import pyperclip previous_text = pyperclip.paste() while True: if pyperclip.paste() != previous_text: # クリップボードの値が更新されている場合 copied_text = pyperclip.paste() previous_text = copied_text new_text = copied_text.replace("\r\n", "").replace("\n", "").replace(" ", "") print(new_text, "\n") with open('output.txt', 'a', encoding='utf-8') as f: f.write(new_text + "\n\n") sleep(0.5)
pyperclip(pip installが必要)のpaste()でクリップボードの文字列を参照し、前回の参照から変更されていればファイルに書き込む。
ちゃんとコピーできたかを確認したいので、ファイルに書き込む内容は標準出力にも出力するようにした。
また、あまり密なループをするとPCに負荷がかかるため、ループごとに0.5秒の間を開けている。
あと、PDFの論文をコピーすると途中に半角スペースが含まれるため、半角スペースも除去している。
使い方
このプログラムを起動した状態で論文を読み、良い箇所があったらコピーする。横目でチラッと標準出力を見て、再び論文に目を戻す。楽でうれしい。