Pythonでクリップボードに特定の文字を入れるコードを作ってみた

「毎日使うものにはコストをかけろ」

というのが信念なのですが、
頻繁に行うことを簡略化していくのも大切です。

で、TwitterやInstagramに投稿するとき

「タグ」

というものを付与しますよね?

こんなやつ。

これを毎回「前回の似たような投稿」を引っ張ってきてコピペしてたんですよ。

でもそれって結構めんどくさいじゃないですか?

なので……

Pythonでクリップボードに特定の文字を入れるコードを作ってみました。

プログラマーとしてバリバリ働いていたのはもう10年以上前。
プログラムを触ること自体ここ数年なかったのですが、
頭の体操と折角のスキルを枯らさないために、最近またプログラムをちょこちょこいじるようになりました。

といっても昔のような大規模開発やゲームを作ったりするわけではなくて、
こういう日々の業務改善をPythonでやる程度です。

でもなんかコーディングしていると頭がスッキリしますね(笑)

で、調べてたらPythonで結構かんたんにWindowを作れるみたいで、
今回はこんな感じのアプリです。

まぁ自分で使うようなので、デザインとかは全く意識してないです(笑)

動作は凄くシンプルで、

ボタンを押すと特定の文字列がクリップボードに格納される。

それだけです。

ただ、少しこだわりがあって

  • ボタンを押したあとはすぐにアプリが自動終了する
  • キーボードでも動作するようにする(頭の「p」とか「s」とかが該当キーになります)

この辺の細かいこだわりが使い勝手を向上させます(笑)

コード貼り付けときます

一応ちゃんと動作したので、コードを貼り付けときます。

ただ、あんまりきれいには書いてませんので参考程度に(笑)

import tkinter as tk
import pyperclip

# Instagram ポートレートタグ
def func_portraite():
    pyperclip.copy('''+───────────────+
#写真好きと繋がりたい
#東京カメラ部
#ファインダー越しの私の世界
#けんちろ
#カメラとけんちろ
#共感ポートレート
#写真で伝えたい私の世界
#絵のような写真が好き
#pasha_magazine
#ギャラリームジン
#ポートレートモデルさんと繋がりたい
#ポートレート好きな人と繋がりたい
+───────────────+''')
    root.destroy()


def func_snap_tag():
    pyperclip.copy('''+────────────+
#写真好きと繋がりたい
#ファインダー越しの私の世界
#写真散歩
#絵のような写真が好き
#けんちろ
#カメラとけんちろ
#視座の共有
+────────────+
''')
    root.destroy()

def func_4():
    root.destroy()

def func_5():
    root.destroy()

def func_6():
    root.destroy()

def func_7():
    root.destroy()
    
# キーイベント処理
def key_handler(event):
    if event.keysym == 'p':
        func_portraite()
    elif event.keysym == 's':
        func_snap_tag()
    elif event.keysym == '4':
        func_4()
    elif event.keysym == '5':
        func_5()
    elif event.keysym == '6':
        func_6()
    elif event.keysym == '7':
        func_7()

    root.destroy()




# メイン処理
root = tk.Tk()
root.geometry('300x500')
# fontsize設定
root.option_add("*font", ["游ゴシック", 20])

button_portraite = tk.Button(root, 
                    text = 'p.Portraite tag', 
                    command=func_portraite)
button_snap_tag = tk.Button(root, 
                text = 's.スナップ tag', 
                command=func_snap_tag)
button_4 = tk.Button(root, 
                text = 'Click and Quit', 
                command=func_4)
button_5 = tk.Button(root, 
                text = 'Click and Quit', 
                command=func_5)
button_6 = tk.Button(root, 
                text = 'Click and Quit', 
                command=func_6)
button_7 = tk.Button(root, 
                text = 'Click and Quit', 
                command=func_7)

button_portraite.pack()
button_snap_tag.pack()

button_4.pack()
button_5.pack()
button_6.pack()
button_7.pack()

# キーイベント取得
root.bind("<Key>", key_handler)

# メインループ
root.mainloop()





たまには元プログラマーっぽいことを書いてみました(笑)

これでタグ入れが楽になるのと、
(ホントは投稿ごとに入れるタグは吟味したほうが良い)
メールの定型文とかもここで管理すれば結構な業務効率化になる気がする。

プログラムなので
「今のクリップボードの文字列に特定の文字列を追加する」
ということもできるので、汎用性あると思われ。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA