多重剪贴板

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mygodhome/article/details/82119871

假定你有一个无聊的任务,要填充一个网页或者软件中的许多表格,其中包含一些文本字段。剪贴板让你不必一次又一次输入同样的文本,但剪贴板上一次只有一个内容。如果你有几段不同的文本需要拷贝粘贴,就不得不一次又一次的标记和拷贝几个同样的内容。

写一个Python程序,追踪几段文本。这个“多重剪贴板”将被命名为mcb.pyw(因为“mcb"比输入”multiclipboad"更简单。) .pyw扩展名意味着Python运行该程序时,不会显示终端窗口。

该程序将利用一个关键字保存每段剪贴板文本。例如,当运行py mcb.pyw save spam,剪贴板中当前的内容就用关键字spam保存。通过运行py mcb.pyw spam,这段文本稍后将重新加载到剪贴板中。如果用户忘记了都有哪些关键字,他们可以运行py mcb.pyw list, 将所有关键字的列表复制到剪贴板中。

下面程序要做的事:

针对要检查的关键字,提供命令行参数。

如果参数是save,那么将剪贴板的内容保存到关键字。

如果参数是list,就将所有的关键字拷贝到剪贴板。

否则,就将关键词对应的文本拷贝到剪贴板。

这意味着代码需要做下列事情:

从sys.argv 读取命令行参数。

读写剪贴板。

保存并加载shelf文件。

#!/bin/python3
#mcb.pyw -Saves and loads pieces of text to the clipboard.
#Usage: py mcb.pyw save <keyword> - Saves clipboard to keyword.
#		py mcb.pyw <keyword> - Loads keyword to clipboard.
#		py mcb.pyw list - Loads all keywords to clipboard 
import shelve,pyperclip,sys
mcbShelf = shelve.open('mcb') #创建一个前缀为mcb的文件,用来存储data,可以简单把这个文件当成字典,返回一个shelve对象  <===这里报错说shelve没有open属性????
#ToDo : Save clipboard conetent.
#将当前剪贴板的内容保存到关键字
if len(sys.argv)==3 and sys.argv[1].lower()=='save':
	mcbShelf[sys.argv[2]]=pyperclip.paste()
elif len(sys.argv)==2:	
	#ToDo : List keywords and load content.
	#将所有关键字拷贝到剪贴板
	if sys.argv[1].lower()=='list':
		pyperclip.copy(str(list(mcbShelf.keys())))
	elif sys.argv[1] in mcbShelf:
		#否则将关键字对应的文本拷贝到剪贴板
		pyperclip.copy(mcbShelf[sys.argv[1]])
mcbShelf.close()

Reference:

1. shelve 模块:https://www.cnblogs.com/caibao666/p/6531044.html

猜你喜欢

转载自blog.csdn.net/mygodhome/article/details/82119871
今日推荐