28-第3步_列出关键字和加载关键字的内容
第3步:列出关键字和加载关键字的内容
最后,让我们实现剩下的两种情况。用户希望从关键字加载文本到剪贴板,或希望列出所有可用的关键字。让你的代码看起来像这样:
#! python3
# mcb.pyw - Saves and loads pieces of text to the clipboard.
--snip--
# Save clipboard content.
if len(sys.argv) == 3 and sys.argv[1].lower() == 'save':
mcbShelf[sys.argv[2]] = pyperclip.paste()
elif len(sys.argv) == 2:
# 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()
如果只有一个命令行参数,首先检查它是不是 'list'
❶。如果是,表示 shelf
键的列表的字符串将被复制到剪贴板❷。用户可以将这个列表复制到一个打开的文本编辑器进行查看。否则,你可以假定该命令行参数是一个关键字。如果这个关键字是 shelf
中的一个键,就可以将对应的值加载到剪贴板❸。
加载这个程序有几个不同步骤,这取决于你的计算机使用哪种操作系统。请查看附录B,了解操作系统的详情。
回忆一下第6章中创建的多剪贴板程序,它将文本保存在一个字典中。更新文本需要更改该程序的源代码。这不太理想,因为普通用户不太适应通过更改源代码来更新他们的软件。而且,每次修改程序的源代码时,就有可能不小心引入新的bug。将程序的数据保存在不同的地方,而不是在代码中,就可以让别人更容易使用你的程序,并且更不容易出错。