いくつかのテキストフィールドを含むWebページまたはソフトウェアの多くのフォームに入力する退屈なタスクがあるとします。クリップボードを使用すると、同じテキストを何度も入力する必要がなくなりますが、クリップボードには一度に1つのコンテンツしかありません。コピーして貼り付ける必要のある異なるテキストが複数ある場合は、同じコンテンツにマークを付けて何度もコピーする必要があります。この退屈な仕事はほとんど崩壊します。
幸いなことに、あなたはpythonを学びました、pythonはこの種の作業に最も適しています。
コピーして貼り付けるには pyperclip
モジュールが必要であり、コマンドラインパラメータを読み取るには sys
モジュールが必要です。 shelve
モジュールは、Pythonプログラムの変数をバイナリの shelf
ファイルに保存するために使用されます。 shelve
モジュールを使用すると、プログラムに「保存」および「開く」機能を追加して、次にプログラムを実行するときに変数を簡単にロードできます。
手順は次のとおりです。
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