首页 > 解决方案 > 如何从描述为列表的命令行中准确删除特定关键字?

问题描述

我应该使用命令行参数将内容保存到关键字或(这是我的问题;删除关键字)

嘿,我已经研究过类似的问题。但是,我不明白为什么它在我的程序中不起作用。每次我使用 python mcb.py 删除一个。它仍然出现。我无法删除它。希望你能帮我解决这个问题

#! /usr/bin/env python3

import sys, pyperclip, shelve

mcbShelf = shelve.open('mcb')

if len(sys.argv) == 3 and sys.argv[1].lower() == 'save':
    mcbShelf[sys.argv[2]] = pyperclip.paste()
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 len(sys.argv)==3 and sys.argv[1].lower() == 'delete':
        #del mcbShelf[sys.argv[2]]
        mcbShelf.pop(sys.argv[2])
        #mcbShelf.clear()
#mcbShelf.pop(sys.argv[2])
mcbShelf.close()

标签: pythoncommand-line-argumentssysshelve

解决方案


我想你正在寻找(Telefon:.\/\s)?(\+)\d{2}\s\d{2}\s\d{3}\s\d{5}. 这会将 Telefon 移动到单独的组(从字面上匹配整个组)而不是字符集(匹配集中的任何字符)。+也需要逃脱。


推荐阅读