goo blog サービス終了のお知らせ 

黎明流星群

作ったものや、日記などを公開。

【自分用メモ】Pythonでクリップボードを監視し、変更があればテキストファイルに出力する

2022-01-01 15:26:24 | Python
ネットを見たりしている時に、テキストファイルの一部だけを別ファイルにコピペしたいこと、ありませんか?
一回二回コピペするだけなら良いですが、何度もコピペしなければならないとなると、かなり面倒です。
そこで、コピーさえすれば、貼り付けは指定のテキストファイルに自動で行ってくれるツールを作りました。

pyファイルを実行し、クリップボードの内容が変更されると、pyファイルのあるフォルダ内の「output.txt」に追記されます。
自分用なので、無限ループを抜ける処理もしていません。
抜けたくなったらCtrl+Cで抜ける力技。

せっかくなので公開してみます。
良かったらどうぞ。

-------------------------------------------------------------------------------------
'''
クリップボードを0.5秒おきに監視し、変更があればテキストファイルに書き出す
'''

import os
import time
import pathlib
import pyperclip
import win32clipboard

#このファイルが入っているフォルダパスを取得
cur_dir = str(os.path.dirname(__file__))

#保存用テキストファイル名
output_txt = 'output.txt'
#保存用テキストファイルフルパス
output_txt = pathlib.Path(cur_dir + "/" + output_txt)

def txt_copy_to_file():
'''
【メイン処理】
クリップボードの中身をテキストファイルに貼り付け、2行改行
'''
with open(output_txt, 'a',encoding='utf-8') as f:
f.write(pyperclip.paste() + '\n' + '\n')


#クリップボードの内容比較用の変数
contents2 = ""

#無限ループを回し、クリップボードを0.5秒ごとに監視
#内容が変更されていればメイン処理を実行
#ターミナルウインドウにカーソルを合わせてCtrl+Cで抜ける
while True:
win32clipboard.OpenClipboard()
contents1=win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
if contents1 != contents2 and contents2 != "":
#print(contents1)
txt_copy_to_file()

time.sleep(0.5)
contents2 = contents1

最新の画像もっと見る

コメントを投稿