Pythonを使用して複数のクリップボードを実装する

いくつかのテキストフィールドを含むWebページまたはソフトウェアの多くのフォームに入力する退屈なタスクがあるとします。クリップボードを使用すると、同じテキストを何度も入力する必要がなくなりますが、クリップボードには一度に1つのコンテンツしかありません。コピーして貼り付ける必要のある異なるテキストが複数ある場合は、同じコンテンツにマークを付けて何度もコピーする必要があります。この退屈な仕事はほとんど崩壊します。

幸いなことに、あなたはpythonを学びました、pythonはこの種の作業に最も適しています。

コピーして貼り付けるには pyperclipモジュールが必要であり、コマンドラインパラメータを読み取るには sysモジュールが必要です。 shelveモジュールは、Pythonプログラムの変数をバイナリの shelfファイルに保存するために使用されます。 shelveモジュールを使用すると、プログラムに「保存」および「開く」機能を追加して、次にプログラムを実行するときに変数を簡単にロードできます。

手順は次のとおりです。

  1. コマンドラインパラメータを特定します。
  2. クリップボードの内容はいつ保存しますか?
  3. クリップボードの内容はいつ削除されますか?
  4. クリップボードのコンテンツを表示する方法は?すべて表示しますか、それともキーワードで表示しますか?
  5. クリップボードをクリアする方法は?
  6. クリップボードをクリアして貼り付けた後、何が表示されますか?

Windows環境を使用していると仮定すると、プログラムを実行するには、 batバッチプログラムを作成し、キーの組み合わせ win + Rによって呼び出された実行ウィンドウを使用してプログラムを実行する必要があります。 batのバッチファイルの内容は次のとおりです。

@ pythonw.exe D:\ python \ ch00_book \ mcb.pyw%* ::実行時にパスを置き換えるだけです

プログラムを分解すると、プログラムを効果的に作成できます。次のようなスクリプトフレームワークを作成しましょう。

#! python3
# mcb.pyw -複数のクリップボードを保存およびロードするために使用されるプログラムの名前

# 使用済みモジュールをインポートします
import shelve, pyperclip, sys
# シェルフファイルmcbを初期化します.
mcbShelf = shelve.open('mcb')
# コマンドラインパラメータを取得する
command = sys.argv[1].lower()
# TODO:クリップボードのコンテンツを保存し、コピーしたコンテンツごとにキーワードを設定します.
# TODO:すべてのキーワードを一覧表示.
# TODO:キーワードを削除し、キーワードに対応するコンテンツをクリアします.
# TODO:すべてのキーワードを削除し、クリップボードをクリアします.
# TODO:コマンドラインパラメータに従って、キーワードに対応するコンテンツを表示します.
mcbShelf.close()

各ステップのコマンドは、以下で順番に補足されます。

クリップボードのコンテンツを保存し、コピーしたコンテンツごとにキーワードを設定します

if command =='save':
 mcbShelf[sys.argv[2]]= pyperclip.paste()

すべてのキーワードを一覧表示

elif command =='list':
 pyperclip.copy(", ".join(mcbShelf.keys()))

キーワードを削除し、キーワードに対応するコンテンツをクリアします

elif command =='delete':
 del mcbShelf[sys.argv[2]]

すべてのキーワードを削除し、クリップボードをクリアします

elif command =='delete_all':
 # 空のシェルフファイル
 mcbShelf.clear()
 # mcbShelf = shelve.open('mcb', flag='n')
 # クリップボードを空にします
 pyperclip.copy('')

コマンドラインのパラメータに従って、キーワードに対応するコンテンツを表示します

elif sys.argv[1]in mcbShelf:
 pyperclip.copy(mcbShelf[sys.argv[1]])else:
 pyperclip.copy('Sorry, You have input a wrong keyword.')

完全なプログラム

import shelve
import pyperclip
import sys

mcbShelf = shelve.open('mcb')
command = sys.argv[1].lower()if command =='save':
 mcbShelf[sys.argv[2]]= pyperclip.paste()
elif command =='list':
 pyperclip.copy(", ".join(mcbShelf.keys()))
elif command =='delete':
 del mcbShelf[sys.argv[2]]
elif command =='delete_all':
 # 空のシェルフファイル
 mcbShelf.clear()
 # mcbShelf = shelve.open('mcb', flag='n')
 # クリップボードを空にします
 pyperclip.copy('')
elif sys.argv[1]in mcbShelf: #コマンドラインパラメータがキーワードの場合
 pyperclip.copy(mcbShelf[sys.argv[1]])else: #コマンドラインパラメータがキーワードでない場合
 pyperclip.copy('Sorry, You have input a wrong keyword.')

mcbShelf.close()

Recommended Posts

Pythonを使用して複数のクリップボードを実装する
reprを使用してpythonプログラムをデバッグする方法
01.Pythonの概要
Pythonの紹介
pythonを使用してhostsファイルを切り替える方法
Pythonを使用してKSを計算する詳細な例
Centos 6.4 python2.6を2.7にアップグレード
Centos 6.4 python2.6を2.7にアップグレード
Pythonを使用したハイパーパラメータの最適化
Pythonを使用して広州の不動産市場を分析する
Centosのデフォルトのpython2.6のアップグレード
pythonアライメントエラーの解決策
CentOSはpython2をpythにアップグレードします
バグを見つけるためのPythonコード(2)
バグを見つけるためのPythonコード(7)
pythonコードにコメントする方法
バグを見つけるためのPythonコード(4)
バグを見つけるためのPythonコード(3)
バグを見つけるためのPythonコード(9)
pythonをすばやく学ぶ方法
pythonプラグインをアンインストールする方法
Python関連モジュールの紹介
バグを見つけるためのPythonコード(6)
Pythonは複数の継承をサポートしていますか?
バグを見つけるためのPythonコード(1)
バグを見つけるためのPythonコード(8)
Pythonファイルを暗号化する3つの方法
pythonオブジェクトを理解する方法
バグを見つけるためのPythonコード(5)
パイソンタプルの使い方