Pythonでクリップボードの値を取得できる外部モジュール「pyperclip」

python_pyperclip_topimage

「Pythonでクリップボードの値を取得するにはどうしたら良いの?」


テキストエディターに書かれたテキストをコピーすると、クリップボードにテキストが保存されます。

テキストをコピー


そして他のアプリケーションにペーストすると、クリップボードに保存されていたテキストを貼り付ける事ができます。

フォトショップにペースト


クリップボードとは異なるアプリケーション間でのやり取りが可能な、一時的に保存できるメモリ領域の事。


Pythonには、このクリップボードに保存された値を取得できる外部モジュールがあります。

外部モジュール「pyperclip」

「pyperclip」は機能としてはとてもシンプルですが、使い勝手が良く何かと便利なモジュールです。


この記事ではPythonの外部モジュール「pyperclip」を使ったクリップボードの値を取得及び保存する方法を紹介します。


Pythonに外部モジュール「pyperclip」をインストール

Pythonのパッケージ管理ツール Pip でインストールします。

pathが通っている場合は

pip install pyperclip


又は

pathが通っていない場合は

python -m pip install pyperclip

でインストールします。


ここからダウンロードもできます。
https://pypi.org/project/pyperclip/

Pythonでクリップボードの値を取得

テキストエディターなどでテキストを選択し、[Ctrl]+ 又は右クリックメニューから「コピー」を押すとクリップボードに選択した箇所のテキストが格納されます。


このクリップボードに格納されている値を取得する場合、以下のように書きます。

pyperclip.paste()


付箋のテキストをコピーしてクリップボードに格納します。

付箋のテキストをコピー

取得した文字列と文字数

クリップボードの値を取得してprintで出力してみたいと思います。

import pyperclip

clip_str = pyperclip.paste()

print(u"テキスト : {} \n文字数 : {}".format(clip_str, len(clip_str)))


説明:

クリップボードから取得したテキストとテキストの文字数を.formatで一緒にしてprint()で出力します。

結果:

クリップボードから取得したテキストとテキストの文字数が出力されました。

テキスト : 私が一番好きな季節は夏です。
文字数 : 14

取得した文字列を編集

もちろんクリップボードから取得したテキストは他の文字列と同様に編集する事ができます。

「夏」を「秋」に差し替えます。

import pyperclip

clip_str = pyperclip.paste()

new_str = clip_str.replace(u"夏", u"秋")

print(new_str)

説明:

.replace()を使ってクリップボードから取得した文字列の”夏”を”秋”に置き換えました。

結果:

クリップボードから取得した文字列の「夏」が「秋」に差し替えられました。

私が一番好きな季節は秋です。

Pythonでクリップボードにコピー

クリップボードに格納された値を取得する場合は

pyperclip.paste()

でしたが、逆にクリップボードに値を格納する場合は以下の様に書きます。

pyperclip.copy(“”)

加工した文字列をクリップボードにコピー

import pyperclip

clip_str = pyperclip.paste()

new_str = clip_str.replace(u"夏", u"春")

pyperclip.copy(u"テキスト : {} \n文字数 : {}".format(new_str, len(new_str)))


説明:

クリップボードから取得した文字列を編集して、クリップボードに格納しました。

結果:

スクリプトを実行後、付箋の元になったテキストの下に[Ctrl]+[v] でペーストしました。編集されたテキストと文字列が貼り付けられました。

付箋にペースト

まとめ:クリップボードの値を取得するには「pyperclip」

Pythonでクリップボードの値を取得する方法を紹介しました。

Pythonでクリップボードを扱う場合は、外部モジュールの「pyperclip」を使います。

クリップボードの値を取得する場合
pyperclip.paste()

クリップボードに値を格納する場合
pyperclip.copy(“”)


テキストファイルの文字列を[Ctrl]+でコピーしてPythonスクリプトで使えるので意外に便利です。

「pyperclip」試してみてはどうでしょうか。


Twitter Facebook Pocket LINE はてブ

おすすめの関連記事
コチラの記事も読まれています
あわせてよく読まれている記事