首页 > 解决方案 > 使用 shelve 和 sys 模块制作可更新的剪贴板程序

问题描述

我试图从 Al Sweigart 的书中模仿这段代码,但即使我使用脚本中提到的参数,我也无法通过终端运行它。我并不完全清楚通过 MacOS 终端使用 sys 模块输入的运行代码,所以了解与它相关的任何事情都会非常有帮助!

import shelve, pyperclip, sys

mcbshelf = shelve.open('mcb')

#Save clipboard content
if len(sys.argv)==3:
    if sys.argv[1]=='save':
        mcbshelf[sys.argv[2]]=pyperclip.paste()
    elif sys.argv[1].lower()=='delete':
        if sys.argv[2] in mcbshelf:
            del mcbshelf[sys.argv[2]]
elif len(sys.argv)==2:
    if sys.argv[1].lower()== 'list':
        pyperclip.copy(str(list(mcbshelf.keys())))
    elif sys.argv[1] in mcbshelf:
        pyperclip.copy(mcbshelf[sys.argv[1]])
    elif sys.argv[1].lower()=='delete':
        print('Are you sure you want to delete every keyword?')
        if sys.argv[1].lower()=='yes':
            mcbshelf.clear()
mcbshelf.close()

标签: pythonmacosterminal

解决方案


推荐阅读