クリップボードのテキスト内の改行を削除するツール(Python + PyInstaller)
最近のGoogle翻訳の精度は本当に凄くて、英語の文献をしょっちゅうコピペしながら読んでいます。 ただ、Google Chromeの拡張機能から翻訳する場合は大丈夫なのですが、Adobeのリーダーなどからコピーした文を貼り付けると改行コードが残り、 そのままペーストすると翻訳の邪魔になってしまいます。
というわけで、ワンアクションでクリップボード内のテキストに含まれる改行を削除するツールを作りました。
環境、使用したもの
実装
やることは非常に簡単です。
① クリップボード内のテキストを取得後、改行を削除したのちにクリップボードに返すコードを用意
② ①を.exeファイルに変換、ランチャーに登録
まず必要なパッケージであるpyperclip, PyInstallerをインストールします。両方ともpipで入れられます。
pip install pyperclip pyinstaller
①のコードはpyperclipを使って数行で書けます。
import pyperclip a = pyperclip.paste() b = a.split() c = '' for text in b: c = c + text + ' ' pyperclip.copy(c)
pyperclip.paste()
でクリップボードからテキストを取得、pyperclip.copy()
でクリップボードにコピーします。
なおsplit関数で引数を指定しないと空白も削除されてしまい、それだと英文の場合困るので単語ごとに空白を入れています。
書いたコードをsample.py
として保存した場合、コマンドラインから下記を実行することで .exeファイルが作れます。
pyinstaller -F -w sample.py
引数はそれぞれ、生成するファイルを一つにまとめること、実行したときにウィンドウを生成しないことを意味しています。
生成したらあとは実行するだけなのですが、ランチャーに登録しておくと便利です。 私はOrchisというランチャーを使っており、Shiftキー2回連打でマウスの横にアプリが表示されるので、 実際に使うときは「コピー→ランチャー起動→クリックして改行を削除」という流れになります。
また、キーボードショートカットから特定のアプリを起動できるソフトを使えば、 好きなショートカットキーを押すだけで同じことができます。 そのようなソフトにはX Button Makerなどがあります。
余談
似たようなことができるツールがないか探したところ、普通にありました。 www.vector.co.jp