【Python】クリップボードを利用する

Python
この記事は約3分で読めます。

Pythonでクリップボードを利用してみます。

pyperclipモジュールを使用すると、簡単にクリップボードを利用できます。

pyperclipの利用方法

pyperclipのインストールにはpipを使用します。

 

pyperclipのcopyメソッドとpasteメソッドを利用します。

 

コピーした文章のスペースを自動で削除する

Kindle PC版で文章をコピーしてペーストすると
文章にスペースが入っているので、削除する必要があります。

夏目漱石の「吾輩は猫である」から最初の文をコピーして
メモ帳などに貼り付けると、品詞ごとにスペースが挿入されています。

吾輩 は 猫 で ある。 名前 は まだ 無い。

夏目 漱石. 吾輩は猫である (Kindle の位置No.10-11). . Kindle 版.

 

テキストエディタで空白を置換して削除できますが、
毎回テキストエディタに貼り付けて削除するのは大変なので
pyperclipでうまく処理できないか、やってみます。

 

上記のスクリプトを動かしつつ、Kindle PCから文章をコピーすると
品詞の間のスペースが削除されます。

吾輩は猫である。名前はまだ無い。

夏目漱石.吾輩は猫である(Kindleの位置No.10-11)..Kindle版.

 

コピーした内容から郵便番号を取り出す

日本郵便のWebページをクリップボードにコピーしたあとに
郵便番号だけ抽出してみます。

千葉市中央区の郵便番号一覧でテストしてみます。

日本郵便のWebページの郵便番号は「3桁の数値-4桁の数値」と形式が決まってるので
正規表現とpyperclipを組み合わせて、郵便番号だけ抽出します。

 

クリップボードにWebページの情報をコピーしたあとに
コードを動かすと、コピーした情報の中から郵便番号だけを抽出して
リストとして表示します。

 

コピーした内容をn文字ごとに分割する

コピーした内容を指定文字数で分割してみます。

正規表現で文章を分割できるので、正規表現とpyperclipを組み合わせます。

文章は夏目漱石の「坊っちゃん」の下記の一文を使用します。
全部で59文字あるので、これをクリップボード経由で10文字ずつに分割してみます。

親譲りの無鉄砲で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰を抜かした事がある。

 

 

クリップボードに文をコピーして、コードを動かすと
10文字ずつに分割して、リストで出力します。

 

ちょっとしたテキスト処理にpyperclip

大量のテキストファイルやWebページの処理は、クリップボード単体では難しいです。

小さめの処理であればpyperclipを利用して、置換処理や正規表現と組み合わせて
コピーした内容から瞬時に必要な情報を抜きしたり
コピー内容を加工するなどの用途に活用できそうです。

pyperclipドキュメントのリンク

Welcome to Pyperclip’s documentation! — Pyperclip 1.5 documentation

pyperclipの作成者は
退屈なことはPythonにやらせよう ノンプログラマーにもできる自動化処理プログラミング
著者の方ですね。

 

コメント